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 Items 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