zig

fork of https://codeberg.org/ziglang/zig
Log | Tree | Refs | README | LICENSE

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:
Mtest/run_tests.cpp | 15+++++++++++++++
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"); } //////////////////////////////////////////////////////////////////////////////