Enum adapton::adapton_sigs::Art [] [src]

pub enum Art<T, Loc> {
    Rc(Rc<T>),
    Loc(Rc<Loc>),
}

The term "Art" stands for two things here: "Adapton return type", and "Articulation point, for 'articulating' incremental change". The concept of an "Art" also abstracts over whether the producer is eager (like a ref cell) or lazy (like a thunk).

TODO: I'd like the Art<T,Loc> definition to live within the Adapton trait. Then, it need not be parameterized by Loc. It can simply use Adapton::Loc, internally ("privately"). However, I run into problems with rustc accepting associated types for traits that are parameterized by other types (viz., by type T).

Variants

Rc(Rc<T>)Loc(Rc<Loc>)

Trait Implementations

impl<T: Clone, Loc: Clone> Clone for Art<T, Loc>
[src]

fn clone(&self) -> Art<T, Loc>

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<T: Eq, Loc: Eq> Eq for Art<T, Loc>
[src]

impl<T: PartialEq, Loc: PartialEq> PartialEq for Art<T, Loc>
[src]

fn eq(&self, __arg_0: &Art<T, Loc>) -> bool

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

fn ne(&self, __arg_0: &Art<T, Loc>) -> bool

This method tests for !=.

impl<T: Debug, Loc: Debug> Debug for Art<T, Loc>
[src]

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

Formats the value using the given formatter.

impl<T: Hash, Loc: Hash> Hash for Art<T, Loc>
[src]

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

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.