error[E0277]: the trait bound `impl std::future::Future: std::marker::Copy` is not satisfied --> $DIR/issue-55872-2.rs:13:14 | LL | type E = impl Copy; | ^^^^^^^^^ the trait `std::marker::Copy` is not implemented for `impl std::future::Future` | = note: the return type of a function must have a statically known size error: type parameter `T` is part of concrete type but not used in parameter list for the `impl Trait` type alias --> $DIR/issue-55872-2.rs:15:28 | LL | fn foo() -> Self::E { | ____________________________^ LL | | LL | | async {} LL | | } | |_____^ error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0277`.