mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-30 18:53:39 +00:00
781e86477c
Fix #101351. When an associated type on a type parameter is used, and the type parameter isn't constrained by the correct trait, suggest the appropriate trait bound: ``` error[E0220]: associated type `Associated` not found for `T` --> file.rs:6:15 | 6 | field: T::Associated, | ^^^^^^^^^^ there is a similarly named associated type `Associated` in the trait `Foo` | help: consider restricting type parameter `T` | 5 | struct Generic<T: Foo> { | +++++ ``` When an associated type on a type parameter has a typo, suggest fixing it: ``` error[E0220]: associated type `Baa` not found for `T` --> $DIR/issue-55673.rs:9:8 | LL | T::Baa: std::fmt::Debug, | ^^^ there is a similarly named associated type `Bar` in the trait `Foo` | help: change the associated type name to use `Bar` from `Foo` | LL | T::Bar: std::fmt::Debug, | ~~~ ```
30 lines
897 B
Plaintext
30 lines
897 B
Plaintext
error[E0220]: associated type `Baa` not found for `T`
|
|
--> $DIR/issue-55673.rs:9:8
|
|
|
|
|
LL | T::Baa: std::fmt::Debug,
|
|
| ^^^ there is a similarly named associated type `Bar` in the trait `Foo`
|
|
|
|
|
help: change the associated type name to use `Bar` from `Foo`
|
|
|
|
|
LL | T::Bar: std::fmt::Debug,
|
|
| ~~~
|
|
|
|
error[E0220]: associated type `Baa` not found for `T`
|
|
--> $DIR/issue-55673.rs:16:8
|
|
|
|
|
LL | T::Baa: std::fmt::Debug,
|
|
| ^^^ there is a similarly named associated type `Bar` in the trait `Foo`
|
|
|
|
|
help: consider further restricting type parameter `T`
|
|
|
|
|
LL | T::Baa: std::fmt::Debug, T: Foo
|
|
| ~~~~~~~~
|
|
help: and also change the associated type name
|
|
|
|
|
LL | T::Bar: std::fmt::Debug,
|
|
| ~~~
|
|
|
|
error: aborting due to 2 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0220`.
|