-
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
Walk types more carefully in ProhibitOpaqueTypes
visitor
#104296
Walk types more carefully in ProhibitOpaqueTypes
visitor
#104296
Conversation
r? @lcnr (rustbot has picked a reviewer for you, use r? to override) |
would it be better to first normalize the whole type, and then only search for opaque types instead of lazily normalizing projections? no matter whether you want to change that r=me |
Oh, lol, I didn't see this comment:
I thought we wanted to trigger when we see an opaque in the un-normalized projection. Yeah, normalizing first is much easier lol. |
669d57d
to
d8bd153
Compare
@bors r=lcnr |
…iaskrgr Rollup of 9 pull requests Successful merges: - rust-lang#103439 (Show note where the macro failed to match) - rust-lang#103734 (Adjust stabilization version to 1.65.0 for wasi fds) - rust-lang#104148 (Visit attributes of trait impl items during AST validation) - rust-lang#104241 (Move most of unwind's build script to lib.rs) - rust-lang#104258 (Deduce closure signature from a type alias `impl Trait`'s supertraits) - rust-lang#104296 (Walk types more carefully in `ProhibitOpaqueTypes` visitor) - rust-lang#104309 (Slightly improve error message for invalid identifier) - rust-lang#104316 (Simplify suggestions for errors in generators.) - rust-lang#104339 (Add `rustc_deny_explicit_impl`) Failed merges: - rust-lang#103484 (Add `rust` to `let_underscore_lock` example) r? `@ghost` `@rustbot` modify labels: rollup
The visitor didn't account for the case where you could have
<TAIT as Trait>::Assoc
normalize to itself, in the case of atype TAIT = impl Trait
with an unconstrained associated type. That causes the visitor to loop on the same type over and over.Fixes #104291