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