aboutsummaryrefslogtreecommitdiff
path: root/test/cases/while.zig
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2017-12-22 00:50:30 -0500
committerAndrew Kelley <superjoe30@gmail.com>2017-12-22 00:50:30 -0500
commitd917815d8111b98dc237cbe2c723fa63018e02b1 (patch)
treece12771a86b2412ee9692ca73d3ca49abe5da3ce /test/cases/while.zig
parent8bc523219c66427951e5339550502871547f2138 (diff)
downloadzig-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.zig48
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; }