error[E0277]: `?` couldn't convert the error to `ApplicationError` --> $DIR/suggest-complex-bound-on-method.rs:18:16 | LL | t.run()?; | -----^ the trait `From<::Error>` is not implemented for `ApplicationError` | | | this can't be annotated with `?` because it has type `Result<_, ::Error>` | note: `ApplicationError` needs to implement `From<::Error>` --> $DIR/suggest-complex-bound-on-method.rs:12:1 | LL | enum ApplicationError { | ^^^^^^^^^^^^^^^^^^^^^ = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement | LL | fn thing(&self, t: T) -> Result<(), ApplicationError> where ApplicationError: From<::Error> { | +++++++++++++++++++++++++++++++++++++++++++++++++ error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0277`.