type E = impl Copy;
fn foo<T: Default>() -> Self::E {
- //~^ ERROR type parameter `T` is part of concrete type but not used in parameter list for the `impl Trait` type alias
- //~| ERROR impl has stricter requirements than trait
- //~| ERROR the trait bound `S: Copy` is not satisfied in `(S, T)` [E0277]
- //~| ERROR the trait bound `T: Copy` is not satisfied in `(S, T)` [E0277]
+ //~^ ERROR impl has stricter requirements than trait
(S::default(), T::default())
+ //~^ ERROR the trait bound `S: Copy` is not satisfied in `(S, T)` [E0277]
+ //~| ERROR the trait bound `T: Copy` is not satisfied in `(S, T)` [E0277]
}
}