Function futures_executor::enter[][src]

pub fn enter() -> Result<Enter, EnterError>

Marks the current thread as being within the dynamic extent of an executor.

Executor implementations should call this function before beginning to execute a tasks, and drop the returned Enter value after completing task execution:

use futures::executor::enter;

let enter = enter().expect("...");
/* run task */
drop(enter);

Doing so ensures that executors aren’t accidentally invoked in a nested fashion.

Error

Returns an error if the current thread is already marked, in which case the caller should panic with a tailored error message.