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,
) -> InterpResult<'tcx> { ... }
}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,
) -> InterpResult<'tcx>
fn init_once_observe_completed( &mut self, init_once_ref: &InitOnceRef, ) -> InterpResult<'tcx>
Synchronize with the previous completion of an InitOnce. Must only be called after checking that it is complete.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".