//@ compile-flags: -Znext-solver //@ check-pass trait Super { type Assoc; } trait Bound { type Assoc: Super; } trait Trait: Super {} // Elaborating the environment results in a `T::Assoc: Super` where-bound. // This where-bound must not prevent normalization via the `Super` // item bound. fn heck>(x: ::Assoc) -> u32 { x } fn main() {}