pub struct InliningContext {
pub depth: u32,
pub call_stack: Vec<String>,
pub substitutions: HashMap<String, LcnfExpr>,
}Expand description
Tracks the current inlining call stack to detect and prevent cycles.
Fields§
§depth: u32Current recursion depth of the inliner.
call_stack: Vec<String>Stack of function names currently being inlined.
substitutions: HashMap<String, LcnfExpr>Named-value substitutions active in the current scope.
Implementations§
Trait Implementations§
Source§impl Clone for InliningContext
impl Clone for InliningContext
Source§fn clone(&self) -> InliningContext
fn clone(&self) -> InliningContext
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 moreSource§impl Debug for InliningContext
impl Debug for InliningContext
Auto Trait Implementations§
impl Freeze for InliningContext
impl RefUnwindSafe for InliningContext
impl Send for InliningContext
impl Sync for InliningContext
impl Unpin for InliningContext
impl UnsafeUnpin for InliningContext
impl UnwindSafe for InliningContext
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