aboutsummaryrefslogtreecommitdiff
path: root/test/compile_errors.zig
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2018-07-26 18:29:07 -0400
committerAndrew Kelley <superjoe30@gmail.com>2018-07-26 18:29:07 -0400
commit2cbad364c1d23b64ae064f8547590c133b4f070a (patch)
treeb7ff7ef918cb2a8bb3a55eacfa0ca9b95b05cafd /test/compile_errors.zig
parentfd575fe1f3b45806f2cf823a2abe3727d381d4ed (diff)
downloadzig-2cbad364c1d23b64ae064f8547590c133b4f070a.tar.gz
zig-2cbad364c1d23b64ae064f8547590c133b4f070a.zip
add compile error for ignoring return value of while loop bodies
closes #1049
Diffstat (limited to 'test/compile_errors.zig')
-rw-r--r--test/compile_errors.zig22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/compile_errors.zig b/test/compile_errors.zig
index 83bf715f78..2c4c9208eb 100644
--- a/test/compile_errors.zig
+++ b/test/compile_errors.zig
@@ -2,6 +2,28 @@ const tests = @import("tests.zig");
pub fn addCases(cases: *tests.CompileErrorContext) void {
cases.add(
+ "while loop body expression ignored",
+ \\fn returns() usize {
+ \\ return 2;
+ \\}
+ \\export fn f1() void {
+ \\ while (true) returns();
+ \\}
+ \\export fn f2() void {
+ \\ var x: ?i32 = null;
+ \\ while (x) |_| returns();
+ \\}
+ \\export fn f3() void {
+ \\ var x: error!i32 = error.Bad;
+ \\ while (x) |_| returns() else |_| unreachable;
+ \\}
+ ,
+ ".tmp_source.zig:5:25: error: expression value is ignored",
+ ".tmp_source.zig:9:26: error: expression value is ignored",
+ ".tmp_source.zig:13:26: error: expression value is ignored",
+ );
+
+ cases.add(
"missing parameter name of generic function",
\\fn dump(var) void {}
\\export fn entry() void {