pub struct CausalNode {
pub step: usize,
pub pc: usize,
pub op_text: String,
pub narration: String,
pub reg: u16,
pub name: Option<String>,
pub kind: String,
pub value: String,
pub inputs: Vec<CausalNode>,
}Expand description
A node in a causal provenance tree — the exact op that produced a value, and (recursively) the ops that produced its inputs. Because execution is deterministic and fully recorded, this lineage is exact, not heuristic: the answer to “why is this value here?” with no guessing.
Fields§
§step: usizeExplored step whose op produced this value (0 ⇒ an initial/never-written slot).
pc: usizeThe producing op’s pc, its disassembly, and its English narration.
op_text: String§narration: String§reg: u16The slot, its source name if any, and the value it ended up holding.
name: Option<String>§kind: String§value: String§inputs: Vec<CausalNode>The values this op consumed — each itself traced to where it came from.
Trait Implementations§
Source§impl Clone for CausalNode
impl Clone for CausalNode
Source§fn clone(&self) -> CausalNode
fn clone(&self) -> CausalNode
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 moreAuto Trait Implementations§
impl Freeze for CausalNode
impl RefUnwindSafe for CausalNode
impl Send for CausalNode
impl Sync for CausalNode
impl Unpin for CausalNode
impl UnsafeUnpin for CausalNode
impl UnwindSafe for CausalNode
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.