1 #![feature(type_alias_impl_trait)]
8 fn foo<T: Debug>(_: T) -> Self::Item;
12 pub struct S<T>(std::marker::PhantomData<T>);
17 type Item = impl Debug;
19 fn foo<T: Debug>(_: T) -> Self::Item {
20 S::<T>(Default::default())
21 //~^ Error type parameter `T` is part of concrete type but not used in parameter list for the `impl Trait` type alias