usestd::cell::Cell;usefutures_task::LocalSpawn;thread_local!(staticLOCAL_SPAWN:Cell<Option<&'static dyn LocalSpawn>>=Cell::new(None););pub(crate)fnlocal_spawn()->Option<&'static dyn LocalSpawn>{LOCAL_SPAWN.with(|cell|cell.get())}/// Sets the global executor for the current thread to a `Box<dyn LocalSpawn>`. This value is leaked.
pubfnset_boxed_executor(sp:Box<dyn LocalSpawn>){set_executor(Box::leak(sp))}/// Sets the global executor for the current thread to a `&'static dyn LocalSpawn`.
pubfnset_executor(sp:&'static dyn LocalSpawn){LOCAL_SPAWN.with(|cell|cell.set(Some(sp)))}