Function futures::executor::enter

source ·
pub fn enter() -> Result<Enter, EnterError>
Available on crate feature executor only.
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.