futures_executor

Function enter

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

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

Executor implementations should call this function before beginning to execute a task, 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.