rust/tests/ui/try-trait
Esteban Küber 31febc684b Point at type that doesn't implement needed trait
```
error[E0277]: `?` couldn't convert the error: `E: std::error::Error` is not satisfied
  --> $DIR/bad-question-mark-on-trait-object.rs:7:13
   |
LL | fn foo() -> Result<(), Box<dyn std::error::Error>> {
   |             -------------------------------------- required `E: std::error::Error` because of this
LL |     Ok(bar()?)
   |        -----^ the trait `std::error::Error` is not implemented for `E`
   |        |
   |        this has type `Result<_, E>`
   |
note: `E` needs to implement `std::error::Error`
  --> $DIR/bad-question-mark-on-trait-object.rs:1:1
   |
LL | struct E;
   | ^^^^^^^^
   = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
   = note: required for `Box<dyn std::error::Error>` to implement `From<E>`

error[E0277]: `?` couldn't convert the error to `X`
  --> $DIR/bad-question-mark-on-trait-object.rs:18:13
   |
LL | fn bat() -> Result<(), X> {
   |             ------------- expected `X` because of this
LL |     Ok(bar()?)
   |        -----^ the trait `From<E>` is not implemented for `X`
   |        |
   |        this can't be annotated with `?` because it has type `Result<_, E>`
   |
note: `X` needs to implement `From<E>`
  --> $DIR/bad-question-mark-on-trait-object.rs:4:1
   |
LL | struct X;
   | ^^^^^^^^
note: alternatively, `E` needs to implement `Into<X>`
  --> $DIR/bad-question-mark-on-trait-object.rs:1:1
   |
LL | struct E;
   | ^^^^^^^^
   = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
```
2025-02-21 18:30:07 +00:00
..
bad-interconversion.rs Remove feature(control_flow_enum) in tests 2024-09-25 19:00:19 -07:00
bad-interconversion.stderr Tweak E0277 when predicate comes indirectly from ? 2025-02-20 18:15:39 +00:00
bad-question-mark-on-trait-object.rs Point at type that doesn't implement needed trait 2025-02-21 18:30:07 +00:00
bad-question-mark-on-trait-object.stderr Point at type that doesn't implement needed trait 2025-02-21 18:30:07 +00:00
issue-32709.rs
issue-32709.stderr Don't mention FromResidual on bad ? 2025-02-18 17:34:16 +00:00
option-to-result.rs
option-to-result.stderr Tweak E0277 when predicate comes indirectly from ? 2025-02-20 18:15:39 +00:00
try-as-monad.rs
try-on-option-diagnostics.rs
try-on-option-diagnostics.stderr Tweak E0277 when predicate comes indirectly from ? 2025-02-20 18:15:39 +00:00
try-on-option.rs
try-on-option.stderr Tweak E0277 when predicate comes indirectly from ? 2025-02-20 18:15:39 +00:00
try-operator-custom.rs Remove feature(control_flow_enum) in tests 2024-09-25 19:00:19 -07:00
try-operator-on-main.rs
try-operator-on-main.stderr Tweak E0277 when predicate comes indirectly from ? 2025-02-20 18:15:39 +00:00
try-poll.rs
yeet-for-option.rs
yeet-for-result.rs