aboutsummaryrefslogtreecommitdiff
path: root/test/run_tests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/run_tests.cpp')
-rw-r--r--test/run_tests.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/run_tests.cpp b/test/run_tests.cpp
index 26c6a287f0..50fa09f5a9 100644
--- a/test/run_tests.cpp
+++ b/test/run_tests.cpp
@@ -1532,6 +1532,19 @@ pub fn main(args: [][]u8) -> %void {
}
)SOURCE", "before\nafter\ndefer3\ndefer2\ndefer1\n");
+
+ add_simple_case("defer with return", R"SOURCE(
+import "std.zig";
+pub fn main(args: [][]u8) -> %void {
+ %%stdout.printf("before\n");
+ defer %%stdout.printf("defer1\n");
+ defer %%stdout.printf("defer2\n");
+ if (args.len == 1) return;
+ defer %%stdout.printf("defer3\n");
+ %%stdout.printf("after\n");
+}
+ )SOURCE", "before\ndefer2\ndefer1\n");
+
}