-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Confusing error "trait is not implemented for the type" on syntax error #24354
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Comments
I'm not really sure what the compiler can do here, as there is both a type parameter and a type named |
I believe this should be closed, the new error messages give a good explanation of what is happening. |
Today we give the following; ideally I think we would have a span on
|
Related to #47319. Once that ticket is fixed, pointing at |
…asper Use structured suggestion for restricting bounds When a trait bound is not met and restricting a type parameter would make the restriction hold, use a structured suggestion pointing at an appropriate place (type param in param list or `where` clause). Account for opaque parameters where instead of suggesting extending the `where` clause, we suggest appending the new restriction: `fn foo(impl Trait + UnmetTrait)`. Fix rust-lang#64565, fix rust-lang#41817, fix rust-lang#24354, cc rust-lang#26026, cc rust-lang#37808, cc rust-lang#24159, fix rust-lang#37138, fix rust-lang#24354, cc rust-lang#20671.
This code:
...give me this error:
This is confusing. The trait
B
is implemented for the typeBImpl
.Instead, I have to change this:
...into this:
The error should make that clear.
The text was updated successfully, but these errors were encountered: