pub struct FoundationFrame {
pub previous_active: String,
pub snapshot: Vec<(String, Option<Op>)>,
pub previous_active_implementations: Vec<(String, Option<ActiveImplementationDescriptor>)>,
pub previous_strict_carrier: bool,
pub previous_carrier: Option<Vec<f64>>,
pub previous_carrier_label: Option<String>,
}Expand description
Stack frame pushed when entering a foundation scope. Stores the previous
active foundation name plus a snapshot of any operators the foundation
rebinds, so exit_foundation can restore the prior semantics exactly.
snapshot maps operator name -> previous Op (None if the op did not
exist before). Carrier snapshot fields (issue #97 Section 2) preserve the
strict-carrier state of the enclosing scope so nested (with-foundation ...) bodies roll back cleanly when their inner scope exits.
Fields§
§previous_active: String§snapshot: Vec<(String, Option<Op>)>§previous_active_implementations: Vec<(String, Option<ActiveImplementationDescriptor>)>§previous_strict_carrier: bool§previous_carrier: Option<Vec<f64>>§previous_carrier_label: Option<String>Trait Implementations§
Source§impl Clone for FoundationFrame
impl Clone for FoundationFrame
Source§fn clone(&self) -> FoundationFrame
fn clone(&self) -> FoundationFrame
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for FoundationFrame
impl RefUnwindSafe for FoundationFrame
impl Send for FoundationFrame
impl Sync for FoundationFrame
impl Unpin for FoundationFrame
impl UnsafeUnpin for FoundationFrame
impl UnwindSafe for FoundationFrame
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