Trait miri::borrow_tracker::tree_borrows::EvalContextPrivExt
source · trait EvalContextPrivExt<'tcx>: MiriInterpCxExt<'tcx> {
// Provided methods
fn tb_reborrow(
&mut self,
place: &MPlaceTy<'tcx>,
ptr_size: Size,
new_perm: NewPermission,
new_tag: BorTag,
) -> InterpResult<'tcx, Option<Provenance>> { ... }
fn tb_retag_place(
&mut self,
place: &MPlaceTy<'tcx>,
new_perm: NewPermission,
) -> InterpResult<'tcx, MPlaceTy<'tcx>> { ... }
fn tb_retag_reference(
&mut self,
val: &ImmTy<'tcx>,
new_perm: NewPermission,
) -> InterpResult<'tcx, ImmTy<'tcx>> { ... }
}
Provided Methods§
sourcefn tb_reborrow(
&mut self,
place: &MPlaceTy<'tcx>,
ptr_size: Size,
new_perm: NewPermission,
new_tag: BorTag,
) -> InterpResult<'tcx, Option<Provenance>>
fn tb_reborrow( &mut self, place: &MPlaceTy<'tcx>, ptr_size: Size, new_perm: NewPermission, new_tag: BorTag, ) -> InterpResult<'tcx, Option<Provenance>>
Returns the provenance that should be used henceforth.
fn tb_retag_place( &mut self, place: &MPlaceTy<'tcx>, new_perm: NewPermission, ) -> InterpResult<'tcx, MPlaceTy<'tcx>>
sourcefn tb_retag_reference(
&mut self,
val: &ImmTy<'tcx>,
new_perm: NewPermission,
) -> InterpResult<'tcx, ImmTy<'tcx>>
fn tb_retag_reference( &mut self, val: &ImmTy<'tcx>, new_perm: NewPermission, ) -> InterpResult<'tcx, ImmTy<'tcx>>
Retags an individual pointer, returning the retagged version.
Implementors§
impl<'tcx> EvalContextPrivExt<'tcx> for MiriInterpCx<'tcx>
Retagging/reborrowing. Policy on which permission to grant to each pointer should be left to the implementation of NewPermission.