8 pointsby tristonarmstron5 hours ago2 comments
  • treyd5 hours ago
    This is even easier with the thiserror crate:

       #[derive(Debug, Error)
       enum AppError {
           #[error("io: {0}")]
           Io(#[from] io::Error)
       }
    
    Automatically generates From impls like this and a Display impl that lets you describe the error case with more detail. Very very good ergonomics and completely transparent to downstream libraries.
    • dietr1ch4 hours ago
      I ended up using thiserror everywhere but `:/src/bin/`, and using eyre in there.

      It's a nice compromise between being precise on your errors with your code, but allowing you to be careless at the very end of the error lifecycle since running into errors there has very few ways of going about them, and you don't want to deal with the burden of updating that error handling all the time.

    • OptionOfT2 hours ago
      I just wish support would land for `backtrace` on stable.
  • 5 hours ago
    undefined