SNAFU user's guide
Once you've got a high-level idea of what SNAFU can do by looking at the quick example and some more examples, take a peek at our design philosophy.
For more advanced usage, take a deeper dive into how the
macro works, how to create opaque error
types, how to create error structs,
how to use generic types and lifetimes, and what
attributes are available.
For optional features of the crate, see our list of feature flags.
If you are targeting an older release of Rust, you will be interested in the compatibility section.
For upgrading from a previous version, review the upgrading guide.
For comparisons and migration tips from another error library, see the comparison list.
Attributes understood by the
Comparisons to similar libraries
Rust version compatibility
Examples of using SNAFU
Optional extensions to the crate
Using generic types
How to create opaque error types for public APIs
SNAFU's design philosophy
Details about the output of the
Upgrading from previous releases