Struct adapton::reflect::Succ [] [src]

pub struct Succ {
    pub dirty: bool,
    pub loc: Loc,
    pub effect: Effect,
    pub value: Val,
    pub is_dup: bool,

Reflected version of engine::Succ. Unlike the real engine's Succ type, this version stores a reflected value (of type Val).


Dirty invariant: If this edge is dirty, then all predecessors of the edge are dirty too.

The target of the outgoing Effect

The effect: either producing or consuming articulated content

The value either produced or consumed by this Effect

Duplicate edge invariant: If this edge is a duplicate according to this flag, then it is preceded by an edge with the same effect effect, targeting the same location loc. Furthermore, because of the (precise naming) semantics of Adapton and its programs, the observed value value and dirty statuses are always the same across duplicated edges. Hence, the engine does not store these duplicate edges: They are completely redundant.

Trait Implementations

impl Debug for Succ


Formats the value using the given formatter. Read more

impl Clone for Succ


Returns a copy of the value. Read more


Performs copy-assignment from source. Read more

impl Eq for Succ

impl PartialEq for Succ


This method tests for self and other values to be equal, and is used by ==. Read more


This method tests for !=.

impl Hash for Succ


Feeds this value into the given [Hasher]. Read more


Feeds a slice of this type into the given [Hasher]. Read more

impl Reflect<Succ> for Succ


Auto Trait Implementations

impl !Send for Succ

impl !Sync for Succ