pub trait EvalContextExt<'mir, 'tcx: 'mir>: MiriInterpCxExt<'mir, 'tcx> {
    // Provided methods
    fn call_intrinsic(
        &mut self,
        instance: Instance<'tcx>,
        args: &[OpTy<'tcx, Provenance>],
        dest: &PlaceTy<'tcx, Provenance>,
        ret: Option<BasicBlock>,
        _unwind: UnwindAction
    ) -> InterpResult<'tcx> { ... }
    fn emulate_intrinsic_by_name(
        &mut self,
        intrinsic_name: &str,
        args: &[OpTy<'tcx, Provenance>],
        dest: &PlaceTy<'tcx, Provenance>
    ) -> InterpResult<'tcx> { ... }
    fn float_to_int_unchecked<F>(
        &self,
        f: F,
        dest_ty: Ty<'tcx>
    ) -> InterpResult<'tcx, Scalar<Provenance>>
       where F: Float + Into<Scalar<Provenance>> { ... }
}

Provided Methods§

source

fn call_intrinsic( &mut self, instance: Instance<'tcx>, args: &[OpTy<'tcx, Provenance>], dest: &PlaceTy<'tcx, Provenance>, ret: Option<BasicBlock>, _unwind: UnwindAction ) -> InterpResult<'tcx>

source

fn emulate_intrinsic_by_name( &mut self, intrinsic_name: &str, args: &[OpTy<'tcx, Provenance>], dest: &PlaceTy<'tcx, Provenance> ) -> InterpResult<'tcx>

Emulates a Miri-supported intrinsic (not supported by the core engine).

source

fn float_to_int_unchecked<F>( &self, f: F, dest_ty: Ty<'tcx> ) -> InterpResult<'tcx, Scalar<Provenance>>where F: Float + Into<Scalar<Provenance>>,

Implementors§

source§

impl<'mir, 'tcx: 'mir> EvalContextExt<'mir, 'tcx> for MiriInterpCx<'mir, 'tcx>