zig
zig copied to clipboard
Disallow `try return`
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.