thiserror
No written verdict yet. Here is what commenters said.
Why people recommend it
“The example on the docs page is quite clear”
“I use thiserror a lot to help with my impls.”
Show 3 more
“thiserror for libraries, helping you create the standard library error types”
“A single crate level errors.rs with thiserror makes big repos feel way less messy.”
“thiserror¹ for libraries, anyhow² for applications”
Caveats and dissent
“I wouldn't want to see anyhow, thiserror, anything opinionated”
“The thiserror crate makes it too easy to just foreward errors”
Show 2 more
“thiserror actually encourages this sort of implementation leak:”
“Take the example at https://docs.rs/thiserror/latest/thiserror/”
Often compared with
Threads where it came up
- Rust Errors Without Dependencies 5 mentions
- Migrating from Go to Rust 3 mentions
- Stop Forwarding Errors, Start Designing Them 2 mentions
- Malicious Rust Crate Arrayref Runs a Build-Time Payload 1 mention
- An Incoherent Rust 1 mention
- RMA – Fast Rust monorepo scanner cross-file taint, typestate, <0.5s on 100k LOC 1 mention
Data: thiserror.json. Quotes are verbatim; the verdict and theme labels are written by a model from these comments, and every clause links to its sources.
All comments 17
“I wouldn't want to see anyhow, thiserror, anything opinionated”
“The example on the docs page is quite clear”
“I use thiserror a lot to help with my impls.”
“thiserror for libraries, helping you create the standard library error types”
“even with thiserror handling some stuff like the From traits”
“A single crate level errors.rs with thiserror makes big repos feel way less messy.”
“thiserror¹ for libraries, anyhow² for applications”
“we have been using thiserror + exn for a long time, and it works well”
“The thiserror crate makes it too easy to just foreward errors”
“thiserror actually encourages this sort of implementation leak:”
“Take the example at https://docs.rs/thiserror/latest/thiserror/”
“If you're using a library like `thiserror`, then it's much less likely.”
“anyhow` and `thiserror` have been around for a number of years now and shows no signs of going away”
“Nowadays I try to avoid all of these libraries (failure, anyhow, thiserror, etc.)”
“I don't think `thiserror` and `anyhow` with their libraries vs applications distinction makes a lot of sense.”
“not thiserror”
“taught me a lot about thiserror / anyhow and why good context matters”