diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2015-12-24 15:30:32 -0700 |
|---|---|---|
| committer | Andrew Kelley <superjoe30@gmail.com> | 2015-12-24 15:30:55 -0700 |
| commit | 44ca5e19dc174383b1b0490e636398092711306d (patch) | |
| tree | 5aafee34cee55228bdfd059313389c2a49a63001 /test/run_tests.cpp | |
| parent | 5ceaae288c4f80fe5ce1449cd9d2efe0e541d629 (diff) | |
| download | zig-44ca5e19dc174383b1b0490e636398092711306d.tar.gz zig-44ca5e19dc174383b1b0490e636398092711306d.zip | |
add error for break outside loop
also fix break in nested loops
Diffstat (limited to 'test/run_tests.cpp')
| -rw-r--r-- | test/run_tests.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/test/run_tests.cpp b/test/run_tests.cpp index 91cf6591eb..165113ebe9 100644 --- a/test/run_tests.cpp +++ b/test/run_tests.cpp @@ -664,11 +664,14 @@ use "std.zig"; export fn main(argc : isize, argv : &&u8, env : &&u8) -> i32 { var i : i32 = 0; while true { - if i >= 4 { - break; + while true { + if i >= 4 { + break; + } + print_str("loop\n"); + i += 1; } - print_str("loop\n"); - i += 1; + break; } return 0; } @@ -949,6 +952,12 @@ fn f() { }; } )SOURCE", 1, ".tmp_source.zig:11:9: error: no member named 'foo' in 'A'"); + + add_compile_fail_case("invalid break expression", R"SOURCE( +fn f() { + break; +} + )SOURCE", 1, ".tmp_source.zig:3:5: error: 'break' expression not in loop"); } static void print_compiler_invocation(TestCase *test_case) { |
