News for hackers. Stuff that matters.
Re:I Quit My Job to Live on Donations to Zig by bpicolo on Thursday June 07, 2018 @03:29PM (#17259360)
If I'm understanding correctly, you can use enums in rust to recreate the same, though it would be slightly more verbose.

    enum MyErrorSet {
        NotFound(ErrorKind),
        SomethingElse(ErrorKind),
    }
If you don't care about propagating the original ErrorKind then that's just

    enum MyErrorSet {
        NotFound,
        SomethingElse
    }
Re:I Quit My Job to Live on Donations to Zig by gmfawcett on Thursday June 07, 2018 @04:15PM (#17259806)
Yes, I think you're right. But the burden for generating and maintaining the enums is on the developer; whereas in Zig, they can be automatically inferred by the compiler.

I don't think the distinction is super important in application work (for example). But for systems code I can see the benefit of having the compiler tell you, with certainty, why a given function can fail (and why it can't). E.g., a good device driver should handle all its failure modes with care, rather than with a shotgun approach.