diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2017-05-21 10:41:57 -0400 |
|---|---|---|
| committer | Andrew Kelley <superjoe30@gmail.com> | 2017-05-21 10:44:55 -0400 |
| commit | 9f3cca861557dab5c56d4ee5a35acd93180ef862 (patch) | |
| tree | 09187b849588dccd412f4c5f43276be35288cba9 /test/compile_errors.zig | |
| parent | 1c6f415a6416f8b29897393b8adfef45e1a2b51f (diff) | |
| download | zig-9f3cca861557dab5c56d4ee5a35acd93180ef862.tar.gz zig-9f3cca861557dab5c56d4ee5a35acd93180ef862.zip | |
add error for break/continue exiting defer expression
See #284
Diffstat (limited to 'test/compile_errors.zig')
| -rw-r--r-- | test/compile_errors.zig | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/test/compile_errors.zig b/test/compile_errors.zig index 86c6c5cc8b..48aa35f807 100644 --- a/test/compile_errors.zig +++ b/test/compile_errors.zig @@ -472,13 +472,13 @@ pub fn addCases(cases: &tests.CompileErrorContext) { \\export fn f() { \\ break; \\} - , ".tmp_source.zig:2:5: error: 'break' expression outside loop"); + , ".tmp_source.zig:2:5: error: break expression outside loop"); cases.add("invalid continue expression", \\export fn f() { \\ continue; \\} - , ".tmp_source.zig:2:5: error: 'continue' expression outside loop"); + , ".tmp_source.zig:2:5: error: continue expression outside loop"); cases.add("invalid maybe type", \\export fn f() { @@ -1860,4 +1860,26 @@ pub fn addCases(cases: &tests.CompileErrorContext) { \\} , ".tmp_source.zig:2:14: error: array access of non-array type 'type'"); + + cases.add("cannot break out of defer expression", + \\export fn foo() { + \\ while (true) { + \\ defer { + \\ break; + \\ } + \\ } + \\} + , + ".tmp_source.zig:4:13: error: cannot break out of defer expression"); + + cases.add("cannot continue out of defer expression", + \\export fn foo() { + \\ while (true) { + \\ defer { + \\ continue; + \\ } + \\ } + \\} + , + ".tmp_source.zig:4:13: error: cannot continue out of defer expression"); } |
