Struct chalk_engine::ExClause[][src]

pub struct ExClause<C: Context> {
    pub subst: C::Substitution,
    pub delayed_literals: Vec<DelayedLiteral<C>>,
    pub constraints: Vec<C::RegionConstraint>,
    pub subgoals: Vec<Literal<C>>,
}

The paper describes these as A :- D | G.

Fields

The substitution which, applied to the goal of our table, would yield A.

Delayed literals: things that we depend on negatively, but which have not yet been fully evaluated.

Region constraints we have accumulated.

Subgoals: literals that must be proven

Trait Implementations

impl<C: Clone + Context> Clone for ExClause<C> where
    C::Substitution: Clone,
    C::RegionConstraint: Clone
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<C: Debug + Context> Debug for ExClause<C> where
    C::Substitution: Debug,
    C::RegionConstraint: Debug
[src]

Formats the value using the given formatter. Read more

impl<C: PartialEq + Context> PartialEq for ExClause<C> where
    C::Substitution: PartialEq,
    C::RegionConstraint: PartialEq
[src]

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

This method tests for !=.

impl<C: Eq + Context> Eq for ExClause<C> where
    C::Substitution: Eq,
    C::RegionConstraint: Eq
[src]

impl<C: Hash + Context> Hash for ExClause<C> where
    C::Substitution: Hash,
    C::RegionConstraint: Hash
[src]

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

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

Auto Trait Implementations

impl<C> Send for ExClause<C> where
    <C as Context>::CanonicalConstrainedSubst: Send,
    <C as Context>::GoalInEnvironment: Send,
    <C as Context>::RegionConstraint: Send,
    <C as Context>::Substitution: Send

impl<C> Sync for ExClause<C> where
    <C as Context>::CanonicalConstrainedSubst: Sync,
    <C as Context>::GoalInEnvironment: Sync,
    <C as Context>::RegionConstraint: Sync,
    <C as Context>::Substitution: Sync