| //@ edition:2021 | |
| //@ check-pass | |
| use std::future::Future; | |
| pub trait Pool { | |
| type Conn; | |
| #[allow(async_fn_in_trait)] | |
| async fn async_callback<'a, F: FnOnce(&'a Self::Conn) -> Fut, Fut: Future<Output = ()>>( | |
| &'a self, | |
| callback: F, | |
| ) -> (); | |
| } | |
| pub struct PoolImpl; | |
| pub struct ConnImpl; | |
| impl Pool for PoolImpl { | |
| type Conn = ConnImpl; | |
| async fn async_callback<'a, F: FnOnce(&'a Self::Conn) -> Fut, Fut: Future<Output = ()>>( | |
| &'a self, | |
| _callback: F, | |
| ) -> () { | |
| todo!() | |
| } | |
| } | |
| fn main() {} |