News for hackers. Stuff that matters.
Re:Why is Zig so Cool? by pyrolistical on Saturday November 08, 2025 @01:46AM (#45854674)
I can see pros and cons. Preventing data being attached to an error forces more clear and precise errors.

Whereas lazy devs could just attach all possible data in a giant generic error if they don’t want to think about it.

Re:Why is Zig so Cool? by dns_snek on Saturday November 08, 2025 @04:58AM (#45855545)
I don't follow, because there's a possibility that someone somewhere might create a bad overly-generic error set if they were allowed to stuff details in the payload when those should be reflected in the error "type", it's a good idea to make the vast majority of error reporting bad and overly-generic by eliminating error payloads entirely?
Re:Why is Zig so Cool? by Galanwe on Saturday November 08, 2025 @05:42AM (#45855739)
> Preventing data being attached to an error forces more clear and precise errors.

Okay maybe theorically, but in the real world I would like to have the filename on a "file not found", an address on a "connection timeout", a retry count on a "too many failures", etc.

Re:Why is Zig so Cool? by audunw on Saturday November 08, 2025 @09:49AM (#45856982)
But also in the real world I may not be interested in any error information for the library I’m using. I’d like to be able to pass a null for the error information structure and have the compile optimize away everything related to tracking and storing error information.

I’d like my parser library to be able to give me the exact file, line and column number an error occurred. But I’d also like to use the library in a “just give me an error if something failed, I don’t really care why” mode.

Re:Why is Zig so Cool? by Xss3 on Saturday November 08, 2025 @11:34AM (#45857930)
Id rather have data in a generic error type than no data in a specific error type.

How useful is a file not found error type without data (the filename) when the program is looking for 50 files? Not very.

How useful is a generic error type with '{filename} not found' as generic string data packed in? Quite.