pub trait AsyncFnOnce<Args> { type Output; type Future: Future<Output = Self::Output> + Send; // Required method fn call_once(self, _: Args) -> Self::Future; }