blob: bc00fc32135fc603be750f6ab0188092ebabe25f [file] [edit]
//@ known-bug: #150403
#![feature(non_lifetime_binders)]
trait A {
type GAT<T>: A;
fn foo<T>(self, t: T) -> Self::GAT<T>
where
Self: Sized;
}
trait B: A where
for<T> Self::GAT<T>: B,
{
fn bar<T>(self) -> Self::GAT<T>
where
Self: Sized;
fn baz<T>(self, t: T) -> Self::GAT<T>
where
Self: Sized,
{
self.foo(t).bar()
}
}
fn main() {}