pub enum NodeOutput<'m> {
NonTerminal,
JetFailed,
Success(FrameIter<'m>),
}Expand description
Write frame of a terminal (childless) Simplicity program node.
When a terminal node of a program is encountered in the Bit Machine, it
has a well-defined “output”: the contents of the topmost write frame in
the machine. In particular, for witness nodes this will be the witness
data, for jets it will be the result of the jet, and so on.
For non-terminal nodes, the Bit Machine typically does some setup, then executes the nodes’ children, then does some teardown. So at no point is there a well-defined “output” we can provide.
Variants§
NonTerminal
Non-terminal node, which has no output.
JetFailed
Node was a jet which failed, i.e. aborted the program, and therefore has no output.
Success(FrameIter<'m>)
Node succeeded. This is its output frame.
Trait Implementations§
Source§impl<'m> Clone for NodeOutput<'m>
impl<'m> Clone for NodeOutput<'m>
Source§fn clone(&self) -> NodeOutput<'m>
fn clone(&self) -> NodeOutput<'m>
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<'m> Freeze for NodeOutput<'m>
impl<'m> RefUnwindSafe for NodeOutput<'m>
impl<'m> Send for NodeOutput<'m>
impl<'m> Sync for NodeOutput<'m>
impl<'m> Unpin for NodeOutput<'m>
impl<'m> UnwindSafe for NodeOutput<'m>
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