diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2017-12-22 00:50:30 -0500 |
|---|---|---|
| committer | Andrew Kelley <superjoe30@gmail.com> | 2017-12-22 00:50:30 -0500 |
| commit | d917815d8111b98dc237cbe2c723fa63018e02b1 (patch) | |
| tree | ce12771a86b2412ee9692ca73d3ca49abe5da3ce /test/cases/while.zig | |
| parent | 8bc523219c66427951e5339550502871547f2138 (diff) | |
| download | zig-d917815d8111b98dc237cbe2c723fa63018e02b1.tar.gz zig-d917815d8111b98dc237cbe2c723fa63018e02b1.zip | |
explicitly return from blocks
instead of last statement being expression value
closes #629
Diffstat (limited to 'test/cases/while.zig')
| -rw-r--r-- | test/cases/while.zig | 48 |
1 files changed, 18 insertions, 30 deletions
diff --git a/test/cases/while.zig b/test/cases/while.zig index c16171d4a3..e61fe1f9d2 100644 --- a/test/cases/while.zig +++ b/test/cases/while.zig @@ -118,73 +118,61 @@ test "while with error union condition" { var numbers_left: i32 = undefined; error OutOfNumbers; fn getNumberOrErr() -> %i32 { - return if (numbers_left == 0) { + return if (numbers_left == 0) error.OutOfNumbers - } else { + else x: { numbers_left -= 1; - numbers_left + break :x numbers_left; }; } fn getNumberOrNull() -> ?i32 { - return if (numbers_left == 0) { + return if (numbers_left == 0) null - } else { + else x: { numbers_left -= 1; - numbers_left + break :x numbers_left; }; } test "while on nullable with else result follow else prong" { const result = while (returnNull()) |value| { break value; - } else { - i32(2) - }; + } else i32(2); assert(result == 2); } test "while on nullable with else result follow break prong" { const result = while (returnMaybe(10)) |value| { break value; - } else { - i32(2) - }; + } else i32(2); assert(result == 10); } test "while on error union with else result follow else prong" { const result = while (returnError()) |value| { break value; - } else |err| { - i32(2) - }; + } else |err| i32(2); assert(result == 2); } test "while on error union with else result follow break prong" { const result = while (returnSuccess(10)) |value| { break value; - } else |err| { - i32(2) - }; + } else |err| i32(2); assert(result == 10); } test "while on bool with else result follow else prong" { const result = while (returnFalse()) { break i32(10); - } else { - i32(2) - }; + } else i32(2); assert(result == 2); } test "while on bool with else result follow break prong" { const result = while (returnTrue()) { break i32(10); - } else { - i32(2) - }; + } else i32(2); assert(result == 10); } @@ -215,10 +203,10 @@ fn testContinueOuter() { } } -fn returnNull() -> ?i32 { null } -fn returnMaybe(x: i32) -> ?i32 { x } +fn returnNull() -> ?i32 { return null; } +fn returnMaybe(x: i32) -> ?i32 { return x; } error YouWantedAnError; -fn returnError() -> %i32 { error.YouWantedAnError } -fn returnSuccess(x: i32) -> %i32 { x } -fn returnFalse() -> bool { false } -fn returnTrue() -> bool { true } +fn returnError() -> %i32 { return error.YouWantedAnError; } +fn returnSuccess(x: i32) -> %i32 { return x; } +fn returnFalse() -> bool { return false; } +fn returnTrue() -> bool { return true; } |
