zig icon indicating copy to clipboard operation
zig copied to clipboard

Disallow `try return`

Open noiryuh opened this issue 3 years ago • 0 comments

Zig Version

0.10.0-dev.3315+1a16b7214

Steps to Reproduce

pub fn foo() !void {
    try return bar();
}

pub fn bar() !void {
}

which could result in multiple try like try try try return try bar();

Expected Behavior

Compiler will complain just like how Zig v0.8.1 does

./main.zig:4:5: error: unreachable code
    try return bar();
    ^
./main.zig:3:21: note: referenced here
pub fn main() !void {
                    ^
~/zig-0.8.1/lib/std/start.zig:471:40: note: referenced here
            const result = root.main() catch |err| {

Actual Behavior

Compiler since v0.9.1 doesn't complain anything.

noiryuh avatar Jul 26 '22 20:07 noiryuh