News for hackers. Stuff that matters.
Re:Zig's New Relationship with LLVM by the_duke on Monday September 28, 2020 @01:23PM (#24619032)
> No hidden control flow

It's true that a macro in Rust could introduce an early, invisible return. But this can only happen inside a macro. A reasonable option would be to disallow those in a project where such concerns are critical.

Otherwise Zigs "try" is similar to `?` in Rust, and "defer" comes pretty close to non-obvious control flow for me.

I'm particularly not a big fan of "defer" (and "errdefer"), which I already don't like in Go. Sprinkle multiple of those in a larger function, and following the logic can become quite tedious.

Re:Zig's New Relationship with LLVM by alexnask on Monday September 28, 2020 @01:44PM (#24619290)
fwiw, the defers apply to scopes in Zig (similar to D's scope(exit) and scope(failure)) and thus are always static, not dynamic like Go's.