pub struct Stack { /* private fields */ }
Expand description
Extra per-location state.
Implementations§
source§impl<'tcx> Stack
impl<'tcx> Stack
pub fn insert(&mut self, new_idx: usize, new: Item)
pub fn get(&self, idx: usize) -> Option<Item>
pub fn len(&self) -> usize
pub fn unknown_bottom(&self) -> Option<BorTag>
pub fn set_unknown_bottom(&mut self, tag: BorTag)
sourcepub fn disable_uniques_starting_at(
&mut self,
disable_start: usize,
visitor: impl FnMut(Item) -> InterpResult<'tcx>
) -> InterpResult<'tcx>
pub fn disable_uniques_starting_at( &mut self, disable_start: usize, visitor: impl FnMut(Item) -> InterpResult<'tcx> ) -> InterpResult<'tcx>
Find all Unique
elements in this borrow stack above granting_idx
, pass a copy of them
to the visitor
, then set their Permission
to Disabled
.
sourcepub fn pop_items_after<V: FnMut(Item) -> InterpResult<'tcx>>(
&mut self,
start: usize,
visitor: V
) -> InterpResult<'tcx>
pub fn pop_items_after<V: FnMut(Item) -> InterpResult<'tcx>>( &mut self, start: usize, visitor: V ) -> InterpResult<'tcx>
Produces an iterator which iterates over range
in reverse, and when dropped removes that
range of Item
s from this Stack
.
Trait Implementations§
source§impl PartialEq for Stack
impl PartialEq for Stack
impl Eq for Stack
Auto Trait Implementations§
impl Freeze for Stack
impl RefUnwindSafe for Stack
impl Send for Stack
impl Sync for Stack
impl Unpin for Stack
impl UnwindSafe for Stack
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more