use std::pin::Pin; pub trait TaskFunc: Fn() + Send + Sync + 'static {} impl TaskFunc for T where T: Fn() + Send + Sync + Clone + 'static {} pub trait AsyncTaskFunc: Fn() -> Pin + Send>> + Send + Sync + 'static { } impl AsyncTaskFunc for T where T: Fn() -> Pin + Send>> + Send + Sync + Clone + 'static { }