1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
//@ edition:2018 //@ check-pass #![feature(type_alias_impl_trait)] type Tait = impl AsyncFn(); #[define_opaque(Tait)] fn tait() -> Tait { || async {} } fn foo(x: impl AsyncFn()) -> impl AsyncFn() { x } fn param<T: AsyncFn()>() {} fn main() {}