authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2017-01-16 17:18:25-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2017-01-16 17:18:25-05:00
logab8b14aa9fd6d434864476a37fb6fca75fedb121
treee7bb10cbedcd3de08e002c24d06f5d5dbbbb350d
parentcf3b9f4f5b82dae4cefc793da0674438fbd60384

add test for compile error returning from defer expression

closes #218

1 files changed, 15 insertions(+), 0 deletions(-)

test/run_tests.cpp+15
......@@ -1624,6 +1624,21 @@ fn f() {
16241624}
16251625 )SOURCE", 1, ".tmp_source.zig:14:15: error: condition is always false; unnecessary if statement");
16261626
1627 add_compile_fail_case("return from defer expression", R"SOURCE(
1628pub fn testTrickyDefer() -> %void {
1629 defer canFail() %% {};
1630
1631 defer %return canFail();
1632
1633 const a = maybeInt() ?? return;
1634}
1635
1636fn canFail() -> %void { }
1637
1638pub fn maybeInt() -> ?i32 {
1639 return 0;
1640}
1641 )SOURCE", 1, ".tmp_source.zig:5:11: error: cannot return from defer expression");
16271642}
16281643
16291644//////////////////////////////////////////////////////////////////////////////