Struct air_test_utils::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) ) x 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 Archive for FoldSubTraceLore
impl Archive for FoldSubTraceLore
§type Archived = ArchivedFoldSubTraceLore
type Archived = ArchivedFoldSubTraceLore
§type Resolver = FoldSubTraceLoreResolver
type Resolver = FoldSubTraceLoreResolver
source§unsafe fn resolve(
&self,
pos: usize,
resolver: <FoldSubTraceLore as Archive>::Resolver,
out: *mut <FoldSubTraceLore as Archive>::Archived,
)
unsafe fn resolve( &self, pos: usize, resolver: <FoldSubTraceLore as Archive>::Resolver, out: *mut <FoldSubTraceLore as Archive>::Archived, )
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<FoldSubTraceLore, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<FoldSubTraceLore, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
source§impl<__D> Deserialize<FoldSubTraceLore, __D> for <FoldSubTraceLore as Archive>::Archivedwhere
__D: Fallible + ?Sized,
TracePos: Archive,
<TracePos as Archive>::Archived: Deserialize<TracePos, __D>,
Vec<SubTraceDesc>: Archive,
<Vec<SubTraceDesc> as Archive>::Archived: Deserialize<Vec<SubTraceDesc>, __D>,
impl<__D> Deserialize<FoldSubTraceLore, __D> for <FoldSubTraceLore as Archive>::Archivedwhere
__D: Fallible + ?Sized,
TracePos: Archive,
<TracePos as Archive>::Archived: Deserialize<TracePos, __D>,
Vec<SubTraceDesc>: Archive,
<Vec<SubTraceDesc> as Archive>::Archived: Deserialize<Vec<SubTraceDesc>, __D>,
source§fn deserialize(
&self,
deserializer: &mut __D,
) -> Result<FoldSubTraceLore, <__D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut __D, ) -> Result<FoldSubTraceLore, <__D as Fallible>::Error>
source§impl PartialEq for FoldSubTraceLore
impl PartialEq 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 ==
.source§impl<__S> Serialize<__S> for FoldSubTraceLore
impl<__S> Serialize<__S> for FoldSubTraceLore
source§impl Serialize for FoldSubTraceLore
impl Serialize for FoldSubTraceLore
source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Eq for FoldSubTraceLore
impl StructuralPartialEq for FoldSubTraceLore
Auto Trait Implementations§
impl Freeze for FoldSubTraceLore
impl RefUnwindSafe for FoldSubTraceLore
impl Send for FoldSubTraceLore
impl Sync for FoldSubTraceLore
impl Unpin for FoldSubTraceLore
impl UnwindSafe for FoldSubTraceLore
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
§impl<T> ArchiveUnsized for Twhere
T: Archive,
impl<T> ArchiveUnsized for Twhere
T: Archive,
§type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
Archive
, it may be unsized. Read more§type MetadataResolver = ()
type MetadataResolver = ()
§unsafe fn resolve_metadata(
&self,
_: usize,
_: <T as ArchiveUnsized>::MetadataResolver,
_: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata,
)
unsafe fn resolve_metadata( &self, _: usize, _: <T as ArchiveUnsized>::MetadataResolver, _: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata, )
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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
§fn deserialize(
&self,
deserializer: &mut D,
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>
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.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
self
file descriptor.