rust/compiler/rustc_trait_selection/src
Esteban Küber 6eb48824da Don't mention FromResidual on bad ?
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>`
```
2025-02-18 17:34:16 +00:00
..
error_reporting Don't mention FromResidual on bad ? 2025-02-18 17:34:16 +00:00
errors introduce LateParamRegionKind 2024-12-18 16:05:44 +01:00
solve adjust derive_error 2025-02-13 23:49:09 +01:00
traits Rollup merge of #136951 - compiler-errors:clause-binder, r=lqd 2025-02-13 21:37:52 -08:00
errors.rs Tweak fn pointer suggestion span 2025-02-02 00:46:02 +00:00
infer.rs Suggest Semicolon in Incorrect Repeat Expressions 2024-12-21 02:30:50 +00:00
lib.rs consistently handle global where-bounds 2024-12-17 08:50:47 +01:00
regions.rs Move param env bound deep normalization to OutlivesEnvironment building 2025-01-28 19:11:05 +00:00
solve.rs impossible obligations check fast path 2024-10-10 06:09:50 -04:00