trait EvalContextPrivExt<'tcx, 'ecx>: MiriInterpCxExt<'tcx> {
// Provided methods
fn sb_reborrow(
&mut self,
place: &MPlaceTy<'tcx>,
size: Size,
new_perm: NewPermission,
new_tag: BorTag,
retag_info: RetagInfo,
) -> InterpResult<'tcx, Option<Provenance>> { ... }
fn sb_retag_place(
&mut self,
place: &MPlaceTy<'tcx>,
new_perm: NewPermission,
info: RetagInfo,
) -> InterpResult<'tcx, MPlaceTy<'tcx>> { ... }
}Provided Methods§
Sourcefn sb_reborrow(
&mut self,
place: &MPlaceTy<'tcx>,
size: Size,
new_perm: NewPermission,
new_tag: BorTag,
retag_info: RetagInfo,
) -> InterpResult<'tcx, Option<Provenance>>
fn sb_reborrow( &mut self, place: &MPlaceTy<'tcx>, size: Size, new_perm: NewPermission, new_tag: BorTag, retag_info: RetagInfo, ) -> InterpResult<'tcx, Option<Provenance>>
Returns the provenance that should be used henceforth.
fn sb_retag_place( &mut self, place: &MPlaceTy<'tcx>, new_perm: NewPermission, info: RetagInfo, ) -> InterpResult<'tcx, MPlaceTy<'tcx>>
Implementors§
impl<'tcx, 'ecx> EvalContextPrivExt<'tcx, 'ecx> for MiriInterpCx<'tcx>
Retagging/reborrowing. There is some policy in here, such as which permissions to grant for which references, and when to add protectors.