add test for compile error returning from defer expression

closes #218
This commit is contained in:
Andrew Kelley 2017-01-16 17:18:25 -05:00
parent cf3b9f4f5b
commit ab8b14aa9f

View File

@ -1624,6 +1624,21 @@ fn f() {
} }
)SOURCE", 1, ".tmp_source.zig:14:15: error: condition is always false; unnecessary if statement"); )SOURCE", 1, ".tmp_source.zig:14:15: error: condition is always false; unnecessary if statement");
add_compile_fail_case("return from defer expression", R"SOURCE(
pub fn testTrickyDefer() -> %void {
defer canFail() %% {};
defer %return canFail();
const a = maybeInt() ?? return;
}
fn canFail() -> %void { }
pub fn maybeInt() -> ?i32 {
return 0;
}
)SOURCE", 1, ".tmp_source.zig:5:11: error: cannot return from defer expression");
} }
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////