Struct ai_kit::rule::Rule [] [src]

pub struct Rule<T: ConstraintValue, U: Unify<T>> {
    pub constraints: Vec<Constraint>,
    pub lhs: Vec<U>,
    pub rhs: U,
    pub _marker: PhantomData<T>,
}

Fields

Methods

impl<T, U> Rule<T, U> where
    T: ConstraintValue,
    U: Unify<T>, 
[src]

Trait Implementations

impl<T: Clone + ConstraintValue, U: Clone + Unify<T>> Clone for Rule<T, U>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<T: Debug + ConstraintValue, U: Debug + Unify<T>> Debug for Rule<T, U>
[src]

Formats the value using the given formatter.

impl<T: PartialEq + ConstraintValue, U: PartialEq + Unify<T>> PartialEq for Rule<T, U>
[src]

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

This method tests for !=.

impl<T, U> Operation<T, U> for Rule<T, U> where
    T: ConstraintValue,
    U: Unify<T>, 
[src]

Return a vector of input patterns that must be unified with in order to apply this Operation.

Given some bindings, construct a set of output patterns

Given some bindings, construct a set of input patterns that would match

Construct a new version of this rule but with all variables updated to be unique for this invocation

impl<T, U> Display for Rule<T, U> where
    T: ConstraintValue,
    U: Unify<T>, 
[src]

Formats the value using the given formatter. Read more

impl<T, U> Eq for Rule<T, U> where
    T: ConstraintValue,
    U: Unify<T>, 
[src]