17a6ae2df3
When an associated type with GATs isn't specified in a `dyn Trait`, emit an object safety error instead of only complaining about the missing associated type, as it will lead the user down a path of three different errors before letting them know that what they were trying to do is impossible to begin with. Fix #103155.
20 lines
668 B
Plaintext
20 lines
668 B
Plaintext
error[E0220]: associated type `F` not found for `Trait`
|
|
--> $DIR/E0220.rs:5:22
|
|
|
|
|
LL | type Foo = dyn Trait<F=i32>;
|
|
| ^ help: `Trait` has the following associated type: `Bar`
|
|
|
|
error[E0191]: the value of the associated type `Bar` in `Trait` must be specified
|
|
--> $DIR/E0220.rs:5:16
|
|
|
|
|
LL | type Bar;
|
|
| -------- `Bar` defined here
|
|
...
|
|
LL | type Foo = dyn Trait<F=i32>;
|
|
| ^^^^^^^^^^^^ help: specify the associated type: `Trait<F=i32, Bar = Type>`
|
|
|
|
error: aborting due to 2 previous errors
|
|
|
|
Some errors have detailed explanations: E0191, E0220.
|
|
For more information about an error, try `rustc --explain E0191`.
|