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 tasks and drop the returned Enter value after completing task execution:


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.