mirror of https://github.com/rust-lang/rust.git
![]() 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>` ``` |
||
---|---|---|
.. | ||
bad-interconversion.rs | ||
bad-interconversion.stderr | ||
issue-32709.rs | ||
issue-32709.stderr | ||
option-to-result.rs | ||
option-to-result.stderr | ||
try-as-monad.rs | ||
try-on-option-diagnostics.rs | ||
try-on-option-diagnostics.stderr | ||
try-on-option.rs | ||
try-on-option.stderr | ||
try-operator-custom.rs | ||
try-operator-on-main.rs | ||
try-operator-on-main.stderr | ||
try-poll.rs | ||
yeet-for-option.rs | ||
yeet-for-result.rs |