-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Document which trait bounds are implicit available for functions #34106
Comments
Trait bounds on Self are considered "supertraits". These are required to be acyclic. Supertraits are somewhat different from other constraints in that they affect what methods are available in the vtable when the trait is used as a trait object. Referencing rust-lang/rust#28055 and rust-lang/rust#34106
Closed by rust-lang/reference#40 |
@steveklabnik I think that rust-lang/reference#40 is only related with lifetimes. This is related with all implicit (trait) bounds, not only lifetime. Also the information on arial1b comment is not included. |
Sorry, I somehow got my links mixed up! it was #31137 i was intending to close, not this one |
Triage: no changes. |
The place to document this is in the reference, so I've filed a bug against it there: rust-lang/reference#504 Thank you! |
I opened the issue #28055 last year thinking that I had found a inconsistency in the type checker. Recently, some one asked a question in stackoverflow that involves the same issue. The question is about the need to repeat the bound of a trait in a function that uses the trait. For example:
@arielb1 closed the issue #28055 and wrote that it is the expected behavior. He also pointed which bounds are implicit available for function and wrote "I guess this should be a FAQ entry."
So, I'm opening this issue to register that this information need to be add to the docs (or FAQ).
One question for all: Do you agree with the justification "The thing is that we don't want too many bounds to be implicitly available for functions, as this can lead to fragility with distant changes causing functions to stop compiling"?
The text was updated successfully, but these errors were encountered: