#![feature(type_alias_impl_trait)]
pub trait Bar {
- type E: Copy;
+ type E: Send;
fn foo<T>() -> Self::E;
}
impl<S> Bar for S {
- type E = impl std::marker::Copy;
+ type E = impl std::marker::Send;
fn foo<T>() -> Self::E {
- //~^ ERROR type parameter `T` is part of concrete type but not used in parameter list for the `impl Trait` type alias
- //~| ERROR the trait bound `impl Future: Copy` is not satisfied
async {}
+ //~^ ERROR type parameter `T` is part of concrete type but not used in parameter list for the `impl Trait` type alias
}
}