## 函数的入参是一个async function 因为我们使用了trait bound,所以不能用`Fn() -> impl Future>`的方式. ```rust use core::future::Future; pub async fn on_tran(f: F) -> usize where F: Fn() -> Fut, Fut: Future { f().await } #[tokio::main] async fn main() { let foo = || { async { 8 as usize } }; println!("{}", on_tran(foo).await); } ```