Enum adapton::adapton_sigs::ArtIdChoice [] [src]

pub enum ArtIdChoice<Name> {
    Eager,
    Structural,
    Nominal(Name),
}

An ArtId is a symbolic identity for an articulation point made by Adapton::thunk. An ArtId is chosen by the programmer to identify the point during evaluation (and simultaneously, to identify the point during re-evaluation). An Eager identity is special, and it means "do not introduce any laziness/memoization overhead here"; when Eager is used, no thunk is created; rather, the computation eagerly produces an articulated value of the form Art::Rc(v), for some value v.

Variants

EagerStructuralNominal(Name)

Trait Implementations

impl<Name: Clone> Clone for ArtIdChoice<Name>
[src]

fn clone(&self) -> ArtIdChoice<Name>

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)
1.0.0

Performs copy-assignment from source. Read more

impl<Name: Eq> Eq for ArtIdChoice<Name>
[src]

impl<Name: PartialEq> PartialEq for ArtIdChoice<Name>
[src]

fn eq(&self, __arg_0: &ArtIdChoice<Name>) -> bool

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

fn ne(&self, __arg_0: &ArtIdChoice<Name>) -> bool

This method tests for !=.

impl<Name: Debug> Debug for ArtIdChoice<Name>
[src]

fn fmt(&self, __arg_0: &mut Formatter) -> Result

Formats the value using the given formatter.

impl<Name: Hash> Hash for ArtIdChoice<Name>
[src]

fn hash<__HName: Hasher>(&self, __arg_0: &mut __HName)

Feeds this value into the state given, updating the hasher as necessary.

fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher
1.3.0

Feeds a slice of this type into the state provided.