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