pub trait EvalContextExt<'tcx>: MiriInterpCxExt<'tcx> {
    // Provided methods
    fn init_once_enqueue_and_block(
        &mut self,
        init_once_ref: InitOnceRef,
        callback: DynUnblockCallback<'tcx>,
    ) { ... }
    fn init_once_complete(
        &mut self,
        init_once_ref: &InitOnceRef,
    ) -> InterpResult<'tcx> { ... }
    fn init_once_fail(
        &mut self,
        init_once_ref: &InitOnceRef,
    ) -> InterpResult<'tcx> { ... }
    fn init_once_observe_completed(&mut self, init_once_ref: &InitOnceRef) { ... }
}Provided Methods§
Sourcefn init_once_enqueue_and_block(
    &mut self,
    init_once_ref: InitOnceRef,
    callback: DynUnblockCallback<'tcx>,
)
 
fn init_once_enqueue_and_block( &mut self, init_once_ref: InitOnceRef, callback: DynUnblockCallback<'tcx>, )
Put the thread into the queue waiting for the initialization.
fn init_once_complete( &mut self, init_once_ref: &InitOnceRef, ) -> InterpResult<'tcx>
fn init_once_fail(&mut self, init_once_ref: &InitOnceRef) -> InterpResult<'tcx>
Sourcefn init_once_observe_completed(&mut self, init_once_ref: &InitOnceRef)
 
fn init_once_observe_completed(&mut self, init_once_ref: &InitOnceRef)
Synchronize with the previous completion of an InitOnce. Must only be called after checking that it is complete.