// edition:2018 #![feature(async_fn_in_trait)] #![feature(min_specialization)] struct MyStruct; trait MyTrait { async fn foo(_: T) -> &'static str; } impl MyTrait for MyStruct {} //~^ ERROR: not all trait items implemented, missing: `foo` [E0046] impl MyTrait for MyStruct { async fn foo(_: i32) -> &'static str {} //~^ ERROR: `foo` specializes an item from a parent `impl`, but that item is not marked `default` [E0520] //~| ERROR: mismatched types [E0308] } fn main() {}