pub struct FrameStack<F> { /* private fields */ }Expand description
An explicit activation stack whose depth never consumes the host call stack.
Implementations§
Source§impl<F> FrameStack<F>
impl<F> FrameStack<F>
Sourcepub fn new(limit: WorkLimit) -> Self
pub fn new(limit: WorkLimit) -> Self
Creates an empty frame stack using the control organ’s work-limit vocabulary.
Sourcepub fn push(&mut self, frame: F) -> Result<(), FrameStackError>
pub fn push(&mut self, frame: F) -> Result<(), FrameStackError>
Admits one frame or returns typed depth exhaustion without recursion.
Sourcepub fn current_mut(&mut self) -> Option<&mut F>
pub fn current_mut(&mut self) -> Option<&mut F>
Returns the mutable current frame, if any.
Sourcepub fn visit_frames(&self, visit: impl FnMut(&F))
pub fn visit_frames(&self, visit: impl FnMut(&F))
Visits frames in deterministic caller-to-current order.
Trait Implementations§
Source§impl<F: Clone> Clone for FrameStack<F>
impl<F: Clone> Clone for FrameStack<F>
Source§fn clone(&self) -> FrameStack<F>
fn clone(&self) -> FrameStack<F>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<F: Debug> Debug for FrameStack<F>
impl<F: Debug> Debug for FrameStack<F>
impl<F: Eq> Eq for FrameStack<F>
Source§impl<F: ManagedRootSource> ManagedRootSource for FrameStack<F>
impl<F: ManagedRootSource> ManagedRootSource for FrameStack<F>
Source§impl<F: PartialEq> PartialEq for FrameStack<F>
impl<F: PartialEq> PartialEq for FrameStack<F>
impl<F: PartialEq> StructuralPartialEq for FrameStack<F>
Auto Trait Implementations§
impl<F> Freeze for FrameStack<F>
impl<F> RefUnwindSafe for FrameStack<F>where
F: RefUnwindSafe,
impl<F> Send for FrameStack<F>where
F: Send,
impl<F> Sync for FrameStack<F>where
F: Sync,
impl<F> Unpin for FrameStack<F>where
F: Unpin,
impl<F> UnsafeUnpin for FrameStack<F>
impl<F> UnwindSafe for FrameStack<F>where
F: UnwindSafe,
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