Struct air_interpreter_data::FoldSubTraceLore
source · pub struct FoldSubTraceLore {
pub value_pos: TracePos,
pub subtraces_desc: Vec<SubTraceDesc>,
}
Expand description
Let’s consider an example of trace that could be produces by the following fold: (fold $stream v (call 1) (call 2) (next v) (call 3) (call 4) )
Having started with stream with two elements {v1, v2} the resulted trace would looks like [(1) (2)] [(1) (2)] [(3) (4)] [(3) (4)] <— the sequence of call states v1 v2 v2 v1 <–– corresponding values from $stream that the iterable v had at the moment of call
From this example, it could be seen that each instruction sequence inside fold is divided into two intervals (left and right), each of these intervals has borders [begin, end). So, this struct describes position inside overall execution_step trace belongs to one fold iteration.
Fields§
§value_pos: TracePos
Position of current value in a trace.
subtraces_desc: Vec<SubTraceDesc>
Descriptors of a subtrace that are corresponded to the current value. Technically, now it always contains two values, and Vec here is used to have a possibility to handle more than one next inside fold in future.
Trait Implementations§
source§impl Clone for FoldSubTraceLore
impl Clone for FoldSubTraceLore
source§fn clone(&self) -> FoldSubTraceLore
fn clone(&self) -> FoldSubTraceLore
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for FoldSubTraceLore
impl Debug for FoldSubTraceLore
source§impl Default for FoldSubTraceLore
impl Default for FoldSubTraceLore
source§fn default() -> FoldSubTraceLore
fn default() -> FoldSubTraceLore
source§impl<'de> Deserialize<'de> for FoldSubTraceLore
impl<'de> Deserialize<'de> for FoldSubTraceLore
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
source§impl PartialEq<FoldSubTraceLore> for FoldSubTraceLore
impl PartialEq<FoldSubTraceLore> for FoldSubTraceLore
source§fn eq(&self, other: &FoldSubTraceLore) -> bool
fn eq(&self, other: &FoldSubTraceLore) -> bool
self
and other
values to be equal, and is used
by ==
.