// The WF requirements of the *unnormalized* form of type annotations // can guide inference. // check-pass pub trait EqualTo { type Ty; } impl EqualTo for X { type Ty = X; } trait MyTrait> { type Out; } impl> MyTrait for T { type Out = (); } fn main() { let _: <_ as MyTrait>::Out; // We shoud be able to infer a value for the inference variable above. // The WF of the unnormalized projection requires `u8: EqualTo`, // which is sufficient to guide inference. }