pub type QuantifiedWhereClause<I> = Binders<WhereClause<I>>;
Expand description

A where clause that can contain forall<> or exists<> quantifiers.

Aliased Type§

struct QuantifiedWhereClause<I> {
    pub binders: VariableKinds<<WhereClause<I> as HasInterner>::Interner>,
    pub(crate) value: WhereClause<I>,
}

Fields§

§binders: VariableKinds<<WhereClause<I> as HasInterner>::Interner>

The binders that quantify over the value.

§value: WhereClause<I>

The value being quantified over.

Implementations§

source§

impl<I: Interner> QuantifiedWhereClause<I>

source

pub fn into_well_formed_goal(self, interner: I) -> Binders<DomainGoal<I>>

As with WhereClause::into_well_formed_goal, but for a quantified where clause. For example, forall<T> { Implemented(T: Trait)} would map to forall<T> { WellFormed(T: Trait) }.

source

pub fn into_from_env_goal(self, interner: I) -> Binders<DomainGoal<I>>

As with WhereClause::into_from_env_goal, but mapped over any binders. For example, forall<T> { Implemented(T: Trait)} would map to forall<T> { FromEnv(T: Trait) }.

source

pub fn trait_id(&self) -> Option<TraitId<I>>

If the underlying where clause is a TraitRef, returns its trait id.

Trait Implementations§