commit ab8b14aa9fd6d434864476a37fb6fca75fedb121 (tree)
parent cf3b9f4f5b82dae4cefc793da0674438fbd60384
Author: Andrew Kelley <superjoe30@gmail.com>
Date: Mon, 16 Jan 2017 17:18:25 -0500
add test for compile error returning from defer expression
closes #218
Diffstat:
1 file changed, 15 insertions(+), 0 deletions(-)
diff --git a/test/run_tests.cpp b/test/run_tests.cpp
@@ -1624,6 +1624,21 @@ fn f() {
}
)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");
}
//////////////////////////////////////////////////////////////////////////////