Type Alias chalk_ir::QuantifiedWhereClause
source · 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>
impl<I: Interner> QuantifiedWhereClause<I>
sourcepub fn into_well_formed_goal(self, interner: I) -> Binders<DomainGoal<I>>
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) }
.
sourcepub fn into_from_env_goal(self, interner: I) -> Binders<DomainGoal<I>>
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) }
.
Trait Implementations§
source§impl<I: Interner> CastTo<Binders<WhereClause<I>>> for QuantifiedWhereClause<I>
impl<I: Interner> CastTo<Binders<WhereClause<I>>> for QuantifiedWhereClause<I>
source§fn cast_to(
self,
_interner: <QuantifiedWhereClause<I> as HasInterner>::Interner,
) -> QuantifiedWhereClause<I>
fn cast_to( self, _interner: <QuantifiedWhereClause<I> as HasInterner>::Interner, ) -> QuantifiedWhereClause<I>
Cast a value to type
T
.