Top all-time · #5337
Sabrina Jewson
Personal blog · sabrinajewson.org/blogprogramming
Sabrina Jewson's personal blog at sabrinajewson.org covers programming. Since 2022, 15 different Hacker News readers have linked it 18 times, most often “Modular Errors in Rust”. The last post was in 2024, but the archive is still widely read.
Too few sampled comments (6) to say how often HN recommends it.?
Why HN links it
HN readers link Sabrina Jewson's blog for its writing on Rust error handling, including her errors post on using one error type per function. Most comments mention it only as a source.
Summarised by Claude from a sample of 6 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Hi! Welcome to my website where I occasionally blog about the Rust programming language.
Most-linked posts?
- Modular Errors in Rust6 people · 7 mentions · first linked 2023-04-08
- Why the “Null” Lifetime Does Not Exist4 people · 4 mentions · first linked 2023-07-18
- The Better Alternative to Lifetime GATs3 people · 3 mentions · first linked 2022-05-01
- Async destructors, async genericity and completion futures2 people · 2 mentions · first linked 2022-04-02
What Hacker News says?
Also in Rust, you have combinations of existing and upcoming language features that make certain conceptually simple designs either outright impossible to implement, or only possible to implement a subset of due to certain barely documented compiler quirks, or impossible to determine whether it is actually possible to implement them without sinking hours of time into dead-end prototyping attempts. Like, not "Rust do…
Comment linking /blog/the-better-alternative-to-lifetime-gats
on “Bugs that the Rust compiler catches for you”Submitted Async destructors, async genericity and completion futures as a story · 71 points
HN discussionWe actually went through the same realization when we started writing Rust a few years ago. The `thiserror` crate makes it easy to just wrap and return an error from some third-party library, like: #[derive(Debug, thiserror::Error)] enum MyError { #[error(transparent)] ThirdPartyError(#[from] third_party::Error) } Since it derives a `From` implementation, you can use it as easily as: fn some_function() -> Result<(),…
Comment linking /blog/errors
on “How we centralized and structured error handling in Golang”Submitted The Better Alternative to Lifetime GATs as a story · 42 points
HN discussion> I create one error type per function/action. I discovered this here on HN after an article I cannot find right now was posted. It could be this one: https://sabrinajewson.org/blog/errors
Comment linking /blog/errors
on “Error handling in Rust”Submitted "Hygienic" Let Statements in Rust as a story · 25 points
HN discussionThe following articles may also be of interest to the audience: - The definitive guide to error handling in Rust [0] - Error Handling for Large Rust Projects - Best Practice in GreptimeDB [1] - Designing error types in Rust [2] - Modular Errors in Rust [3] [0]: https://www.howtocodeit.com/articles/the-definitive-guide-to... [1]: https://greptime.com/blogs/2024-05-07-error-rust [2]: https://mmapped.blog/posts/12-rust…
Comment linking /blog/errors
on “Trying to get error backtraces in Rust libraries right”Submitted The Better Alternative to Lifetime GATs as a story · 4 points
HN discussionI appreciated the approach in https://sabrinajewson.org/blog/errors
Comment linking /blog/errors
on “More than you've ever wanted to know about errors in Rust”Submitted Modular Errors in Rust as a story · 2 points
HN discussionJokes aside, I can think of a couple of differences: - For the longest time, languages with typed (“checked”) exceptions lacked any parametric polymorphism worth a damn. That made the typing... less than optimally useful, especially with fallible callbacks. Sum types can borrow all that from the existing language, and you’d feel intensely awkward if you tried to go with untyped errors there (it’s of course still pos…
Comment linking /blog/errors
on “Error Handling Patterns”Submitted Modular Errors in Rust as a story · 2 points
HN discussionSubmitted A new diagram-based explanation of Rust/C++20 atomic orderings as a story · 2 points
HN discussionSubmitted Why the “Null” Lifetime Does Not Exist as a story · 1 points
HN discussionSubmitted Why the “Null” Lifetime Does Not Exist as a story · 1 points
HN discussionSubmitted Why the “null” lifetime does not exist as a story · 1 points
HN discussionSubmitted Why the “Null” Lifetime Does Not Exist as a story · 1 points
HN discussionSubmitted Async destructors, async genericity and completion futures as a story · 1 points
HN discussion