Skip to main content

EvalContextExtPriv

Trait EvalContextExtPriv 

Source
trait EvalContextExtPriv<'tcx>: MiriInterpCxExt<'tcx> {
    // Provided methods
    fn emulate_foreign_item_inner(
        &mut self,
        link_name: Symbol,
        abi: &FnAbi<'tcx, Ty<'tcx>>,
        args: &[OpTy<'tcx>],
        dest: &MPlaceTy<'tcx>,
    ) -> InterpResult<'tcx, EmulateItemResult> { ... }
    fn memchr(
        &self,
        ptr: Pointer,
        idxs: impl Iterator<Item = u64>,
        needle: u8,
    ) -> InterpResult<'tcx, Option<(u64, Pointer)>> { ... }
}

Provided Methods§

Source

fn emulate_foreign_item_inner( &mut self, link_name: Symbol, abi: &FnAbi<'tcx, Ty<'tcx>>, args: &[OpTy<'tcx>], dest: &MPlaceTy<'tcx>, ) -> InterpResult<'tcx, EmulateItemResult>

Source

fn memchr( &self, ptr: Pointer, idxs: impl Iterator<Item = u64>, needle: u8, ) -> InterpResult<'tcx, Option<(u64, Pointer)>>

For each idx yielded by idxs, check if ptr + idx equals needle and return that index and a pointer to that element if so. Return None if none of the indices match.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<'tcx> EvalContextExtPriv<'tcx> for MiriInterpCx<'tcx>