Unless `try_trait_v2` is enabled, don't mention that `FromResidual` isn't implemented for a specific type when the implicit `From` conversion of a `?` fails. For the end user on stable, `?` might as well be a compiler intrinsic, so we remove that note to avoid further confusion and allowing other parts of the error to be more prominent.
```
error[E0277]: `?` couldn't convert the error to `u8`
--> $DIR/bad-interconversion.rs:4:20
|
LL | fn result_to_result() -> Result<u64, u8> {
| --------------- expected `u8` because of this
LL | Ok(Err(123_i32)?)
| ------------^ the trait `From<i32>` is not implemented for `u8`
| |
| this can't be annotated with `?` because it has type `Result<_, i32>`
|
= note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
= help: the following other types implement trait `From<T>`:
`u8` implements `From<Char>`
`u8` implements `From<bool>`
```
|
||
|---|---|---|
| .. | ||
| issue-45124.rs | ||
| try-block-bad-lifetime.rs | ||
| try-block-bad-lifetime.stderr | ||
| try-block-bad-type.rs | ||
| try-block-bad-type.stderr | ||
| try-block-catch.rs | ||
| try-block-catch.stderr | ||
| try-block-in-edition2015.rs | ||
| try-block-in-edition2015.stderr | ||
| try-block-in-match-arm.rs | ||
| try-block-in-match.rs | ||
| try-block-in-return.rs | ||
| try-block-in-while.rs | ||
| try-block-in-while.stderr | ||
| try-block-maybe-bad-lifetime.rs | ||
| try-block-maybe-bad-lifetime.stderr | ||
| try-block-opt-init.rs | ||
| try-block-opt-init.stderr | ||
| try-block-type-error.rs | ||
| try-block-type-error.stderr | ||
| try-block-unreachable-code-lint.rs | ||
| try-block-unreachable-code-lint.stderr | ||
| try-block-unused-delims.fixed | ||
| try-block-unused-delims.rs | ||
| try-block-unused-delims.stderr | ||
| try-block.rs | ||
| try-is-identifier-edition2015.rs | ||