error[E0599]: the method `as_dyn_error` exists for struct `NotError`, but its trait bounds were not satisfied
   --> tests/ui/source-struct-not-error.rs:9:5
    |
4   | struct NotError;
    | ----------------
    | |
    | method `as_dyn_error` not found for this
    | doesn't satisfy `NotError: AsDynError`
    | doesn't satisfy `NotError: core2::error::Error`
...
9   |     source: NotError,
    |     ^^^^^^ method cannot be called on `NotError` due to unsatisfied trait bounds
    |
    = note: the following trait bounds were not satisfied:
            `NotError: core2::error::Error`
            which is required by `NotError: AsDynError`
note: the following trait must be implemented
   --> $RUST/std/src/error.rs
    |
    | / pub trait Error: Debug + Display {
    | |     /// The lower-level source of this error, if any.
    | |     ///
    | |     /// # Examples
...   |
    | |     }
    | | }
    | |_^
