| //@ edition: 2021 | |
| //@ known-bug: #133119 | |
| #![feature(async_fn_in_dyn_trait)] | |
| use std::future::Future; | |
| trait AsyncTrait { | |
| async fn async_dispatch(&self); | |
| } | |
| impl AsyncTrait for &'static str { | |
| fn async_dispatch(&self) -> impl Future<Output = ()> { | |
| async move { | |
| // The implementor must box the future... | |
| } | |
| } | |
| } | |
| fn main() { | |
| let x: &dyn AsyncTrait = &"hello, world!"; | |
| // FIXME ~^ ERROR `impl Future<Output = ()>` needs to have the same ABI as a pointer | |
| } |