[][src]Enum kul_core::Combiner

pub enum Combiner<OperativeRef, ApplicativeRef> {
    Operative(OperativeRef),
    Applicative(ApplicativeRef),
}

A macro function, bound to an operator sub-form, which is called with the operands sub-form(s) to determine what should be substituted for the whole form. The OperativeRef and ApplicativeRef type parameters determine the types used to refer to the functions.

While these parameters as defined here can allow possibly inconsistent types, further bounds on these are required by a Parser's OperatorBindings which ensures that only consistent ones can be used with it, which is the only intended use of this type.

Variants

Operative(OperativeRef)

An "operative" combiner, which is given unparsed operands text.

Applicative(ApplicativeRef)

An "applicative" combiner, which is given parsed operands list.

Trait Implementations

impl<OperativeRef: Debug, ApplicativeRef: Debug> Debug for Combiner<OperativeRef, ApplicativeRef>[src]

Auto Trait Implementations

impl<OperativeRef, ApplicativeRef> Send for Combiner<OperativeRef, ApplicativeRef> where
    ApplicativeRef: Send,
    OperativeRef: Send

impl<OperativeRef, ApplicativeRef> Sync for Combiner<OperativeRef, ApplicativeRef> where
    ApplicativeRef: Sync,
    OperativeRef: Sync

Blanket Implementations

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]