blob: 840a4eb648c599958604e199b45a8ac9a86891e4 [file] [log] [blame] [edit]
//@ compile-flags: -Znext-solver
trait Foo {}
trait Bar {}
trait Constrain {
type Output;
}
impl<T, U> Foo for T
where
T: Constrain<Output = U>,
U: Bar,
{
}
impl Constrain for () {
type Output = ();
}
fn needs_foo<T: Foo>() {}
fn main() {
needs_foo::<()>();
//~^ the trait bound `(): Foo` is not satisfied
}