3 #![feature(type_alias_impl_trait)]
8 fn foo<T>() -> Self::E;
12 type E = impl std::marker::Copy;
13 fn foo<T>() -> Self::E {
14 //~^ ERROR type parameter `T` is part of concrete type but not used in parameter list for the `impl Trait` type alias
15 //~| ERROR the trait bound `impl Future: Copy` is not satisfied