| error[E0277]: `?` couldn't convert the error to `ApplicationError` |
| --> $DIR/suggest-complex-bound-on-method.rs:18:16 |
| | |
| LL | t.run()?; |
| | -----^ the trait `From<<T as Trait>::Error>` is not implemented for `ApplicationError` |
| | | |
| | this can't be annotated with `?` because it has type `Result<_, <T as Trait>::Error>` |
| | |
| note: `ApplicationError` needs to implement `From<<T as Trait>::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<T: Trait>(&self, t: T) -> Result<(), ApplicationError> where ApplicationError: From<<T as Trait>::Error> { |
| | +++++++++++++++++++++++++++++++++++++++++++++++++ |
| |
| error: aborting due to 1 previous error |
| |
| For more information about this error, try `rustc --explain E0277`. |