// check-pass #![allow(incomplete_features)] trait Foo { fn foo>(self) -> impl Foo; } struct Bar; impl Foo for Bar { fn foo>(self) -> impl Foo { self } } fn main() {}