//@ known-bug: #135122 trait Add { type Output; fn add(_: (), _: Self::Output) {} } trait IsSame { type Assoc; } trait Data { type Elem; } impl IsSame for f32 where f32: IsSame {} impl Add for i64 where f32: IsSame, i8: Data, { type Output = >::Assoc; fn add(_: Data, _: Self::Output) {} }