Skip to main content

EvalContextExt

Trait EvalContextExt 

Source
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§

Source

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.

Source

fn init_once_complete( &mut self, init_once_ref: &InitOnceRef, ) -> InterpResult<'tcx>

Source

fn init_once_fail(&mut self, init_once_ref: &InitOnceRef) -> InterpResult<'tcx>

Source

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".

Implementors§

Source§

impl<'tcx> EvalContextExt<'tcx> for MiriInterpCx<'tcx>