pub struct WorkflowGraph {
pub entry_module: String,
pub nodes: Vec<GraphNode>,
pub edges: Vec<GraphEdge>,
}Expand description
A workflow’s primitive structure as an ordered node/edge graph.
A projection of the typed source: extracted, never authored. The node and edge vectors are in deterministic call order so two extractions of the same package are byte-identical.
Fields§
§entry_module: StringThe logical entry-module name the graph was extracted from.
nodes: Vec<GraphNode>Nodes in deterministic workflow call order.
edges: Vec<GraphEdge>Directed edges in deterministic order.
Implementations§
Source§impl WorkflowGraph
impl WorkflowGraph
Sourcepub fn entry_module(&self) -> &str
pub fn entry_module(&self) -> &str
The logical entry-module name the graph was extracted from.
Sourcepub fn structurally_equals(&self, other: &Self) -> bool
pub fn structurally_equals(&self, other: &Self) -> bool
Whether this graph and other describe the same structure as unordered
node and edge sets.
This is the diff primitive the C23 test uses: it proves the extracted node/edge set matches a workflow’s known structure regardless of the internal vector order, so a consumer can assert structural equality without depending on emission order.
Trait Implementations§
Source§impl Clone for WorkflowGraph
impl Clone for WorkflowGraph
Source§fn clone(&self) -> WorkflowGraph
fn clone(&self) -> WorkflowGraph
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for WorkflowGraph
impl Debug for WorkflowGraph
impl Eq for WorkflowGraph
Source§impl PartialEq for WorkflowGraph
impl PartialEq for WorkflowGraph
impl StructuralPartialEq for WorkflowGraph
Auto Trait Implementations§
impl Freeze for WorkflowGraph
impl RefUnwindSafe for WorkflowGraph
impl Send for WorkflowGraph
impl Sync for WorkflowGraph
impl Unpin for WorkflowGraph
impl UnsafeUnpin for WorkflowGraph
impl UnwindSafe for WorkflowGraph
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.