errorstack 0.1.1

A derive-based typed error system with first-class error stack building.
Documentation
error[E0277]: the trait bound `AppError: std::error::Error` is not satisfied
 --> tests/compile_fail/stack_source_not_errorstack.rs:6:6
  |
6 | enum AppError {
  |      ^^^^^^^^ unsatisfied trait bound
  |
help: the trait `std::error::Error` is not implemented for `AppError`
 --> tests/compile_fail/stack_source_not_errorstack.rs:6:1
  |
6 | enum AppError {
  | ^^^^^^^^^^^^^
note: required by a bound in `ErrorStack`
 --> src/lib.rs
  |
  | pub trait ErrorStack: std::error::Error + Send + Sync + 'static {
  |                       ^^^^^^^^^^^^^^^^^ required by this bound in `ErrorStack`

error[E0277]: the trait bound `String: ErrorStack` is not satisfied
 --> tests/compile_fail/stack_source_not_errorstack.rs:9:9
  |
9 |         not_a_source: String,
  |         ^^^^^^^^^^^^ the trait `ErrorStack` is not implemented for `String`
  |
help: the following other types implement trait `ErrorStack`
 --> tests/compile_fail/stack_source_not_errorstack.rs:5:10
  |
5 | #[derive(ErrorStack)]
  |          ^^^^^^^^^^ `AppError`
  |
 ::: src/lib.rs
  |
  | impl ErrorStack for Box<dyn ErrorStack + Send + Sync> {
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Box<(dyn ErrorStack + Send + Sync + 'static)>`
  = note: required for the cast from `&String` to `&(dyn ErrorStack + 'static)`
  = note: this error originates in the derive macro `ErrorStack` (in Nightly builds, run with -Z macro-backtrace for more info)