1 #![feature(arbitrary_self_types)]
2 #![feature(type_alias_impl_trait)]
9 fn foo(self: impl Deref<Target = Self>) -> Self::Bar;
15 fn foo(self: impl Deref<Target = Self>) -> Self::Bar {
17 //~^ Error type parameter `impl Deref<Target = Self>` is part of concrete type but not used in parameter list for the `impl Trait` type alias