//@ check-pass // regression test for issue #50825 // Make sure that the `impl` bound (): X is preferred over // the (): X bound in the where clause. trait X { type T; } trait Y: X { fn foo(x: &Self::T); } impl X for () { type T = (); } impl Y> for () where (): Y { fn foo(_x: &()) {} } fn main () {}