Files
rust/tests/ui
Esteban Küber d8456855f5 Suggest replacing Self with the right type on type error
When encountering a type error caused by the use of `Self`, suggest
using the actual type name instead.

```
error[E0308]: mismatched types
  --> $DIR/struct-path-self-type-mismatch.rs:13:9
   |
LL |   impl<T> Foo<T> {
   |        -  ------ this is the type of the `Self` literal
   |        |
   |        found type parameter
LL |       fn new<U>(u: U) -> Foo<U> {
   |              -           ------ expected `Foo<U>` because of return type
   |              |
   |              expected type parameter
LL | /         Self {
LL | |
LL | |             inner: u
LL | |
LL | |         }
   | |_________^ expected `Foo<U>`, found `Foo<T>`
   |
   = note: expected struct `Foo<U>`
              found struct `Foo<T>`
   = note: a type parameter was expected, but a different one was found; you might be missing a type parameter or trait bound
   = note: for more information, visit https://doc.rust-lang.org/book/ch10-02-traits.html#traits-as-parameters
help: use the type name directly
   |
LL |         Foo::<U> {
   |         ~~~~~~~~
```

Fix #76086.
2023-11-16 16:19:19 +00:00
..
2023-10-17 17:33:55 +00:00
2023-10-30 22:19:17 +00:00
2023-10-30 22:19:17 +00:00
2023-10-24 15:30:17 +00:00
2023-11-13 16:25:16 -08:00
2023-10-08 10:06:17 +00:00
2023-10-05 01:04:41 +00:00
2023-10-04 08:01:11 +08:00
2023-10-08 10:06:17 +00:00
2023-11-13 14:13:54 +00:00
2023-10-04 08:01:11 +08:00
2023-11-09 10:40:55 -05:00
2023-07-17 22:06:32 +00:00
2023-10-20 21:14:01 +00:00
2023-09-06 12:09:29 +03:00
2023-11-02 18:16:37 +01:00
2023-10-20 21:14:01 +00:00
2023-10-08 10:06:17 +00:00
2023-08-28 17:47:37 -03:00
2023-11-14 13:41:28 +00:00
2023-11-03 13:16:47 +00:00
2023-10-20 21:14:01 +00:00
2023-07-29 11:47:26 +02:00
2023-10-11 04:55:55 +02:00
2023-10-20 21:14:01 +00:00
2023-11-07 05:23:09 +00:00
2023-08-14 16:57:51 -07:00
2023-10-02 23:14:29 +00:00
2023-09-18 17:29:13 +01:00
2023-10-20 21:14:01 +00:00
2023-10-05 01:04:41 +00:00
2023-10-05 01:04:41 +00:00
2023-09-10 23:06:14 +02:00
2023-09-10 23:06:14 +02:00
2023-10-20 21:14:01 +00:00