1 // Check that we handle evaluating `wf` predicates correctly.
9 fn hide<T>(t: T) -> impl Sized {
25 impl<S: A<U = T>, T> B for S {
30 // Evaluating `typeof(x): Sized` requires
32 // - `wf(typeof(x))` because we use a projection candidate.
33 // - `<i32 as B>::V: Clone` because that's a bound on the trait.
34 // - `<i32 as B>::V` normalizes to `_#1` where `<i32 as A>::U == _#1`
36 // This all works if we evaluate `<i32 as A>::U == _#1` before
37 // `<i32 as B>::V`, but we previously had the opposite order.