//@ edition:2018 #![feature(impl_trait_in_assoc_type)] pub trait Bar { type E: Copy; fn foo() -> Self::E; } impl Bar for S { type E = impl std::marker::Copy; fn foo() -> Self::E { //~^ ERROR : Copy` is not satisfied [E0277] async {} } } fn main() {}