wherror 2.3.1

The same derive(Error) macro thiserror provides + the features you want!
Documentation
1
2
[toolchain]
components = ["rust-src"]