Trait chalk_integration::lowering::LowerWithEnv
source · trait LowerWithEnv {
type Lowered;
// Required method
fn lower(&self, env: &Env<'_>) -> Result<Self::Lowered, RustIrError>;
}
Required Associated Types§
Required Methods§
Implementations on Foreign Types§
source§impl LowerWithEnv for (&Goal, QuantifierKind, &Vec<VariableKind>)
impl LowerWithEnv for (&Goal, QuantifierKind, &Vec<VariableKind>)
source§impl LowerWithEnv for (&Impl, ImplId<ChalkIr>, &BTreeMap<(ImplId<ChalkIr>, Identifier), AssociatedTyValueId<ChalkIr>>)
impl LowerWithEnv for (&Impl, ImplId<ChalkIr>, &BTreeMap<(ImplId<ChalkIr>, Identifier), AssociatedTyValueId<ChalkIr>>)
source§impl LowerWithEnv for Const
impl LowerWithEnv for Const
source§impl LowerWithEnv for DomainGoal
impl LowerWithEnv for DomainGoal
source§impl LowerWithEnv for GenericArg
impl LowerWithEnv for GenericArg
source§impl LowerWithEnv for Goal
impl LowerWithEnv for Goal
source§impl LowerWithEnv for InlineBound
impl LowerWithEnv for InlineBound
source§impl LowerWithEnv for LeafGoal
impl LowerWithEnv for LeafGoal
source§impl LowerWithEnv for Lifetime
impl LowerWithEnv for Lifetime
source§impl LowerWithEnv for Ty
impl LowerWithEnv for Ty
source§impl LowerWithEnv for WhereClause
impl LowerWithEnv for WhereClause
source§fn lower(&self, env: &Env<'_>) -> Result<Self::Lowered, RustIrError>
fn lower(&self, env: &Env<'_>) -> Result<Self::Lowered, RustIrError>
Lower from an AST where
clause to an internal IR.
Some AST where
clauses can lower to multiple ones, this is why we return a Vec
.
As for now, this is the only the case for where T: Foo<Item = U>
which lowers to
Implemented(T: Foo)
and ProjectionEq(<T as Foo>::Item = U)
.
type Lowered = Vec<WhereClause<ChalkIr>>
source§impl LowerWithEnv for AdtRepr
impl LowerWithEnv for AdtRepr
source§impl LowerWithEnv for AliasEqBound
impl LowerWithEnv for AliasEqBound
source§impl LowerWithEnv for Clause
impl LowerWithEnv for Clause
source§impl LowerWithEnv for ClosureDefn
impl LowerWithEnv for ClosureDefn
type Lowered = (ClosureKind, Binders<FnDefInputsAndOutputDatum<ChalkIr>>)
fn lower(&self, env: &Env<'_>) -> Result<Self::Lowered, RustIrError>
source§impl LowerWithEnv for ProjectionTy
impl LowerWithEnv for ProjectionTy
source§impl LowerWithEnv for QuantifiedInlineBound
impl LowerWithEnv for QuantifiedInlineBound
source§impl LowerWithEnv for QuantifiedWhereClause
impl LowerWithEnv for QuantifiedWhereClause
source§fn lower(&self, env: &Env<'_>) -> Result<Self::Lowered, RustIrError>
fn lower(&self, env: &Env<'_>) -> Result<Self::Lowered, RustIrError>
Lower from an AST where
clause to an internal IR.
Some AST where
clauses can lower to multiple ones, this is why we return a Vec
.
As for now, this is the only the case for where T: Foo<Item = U>
which lowers to
Implemented(T: Foo)
and ProjectionEq(<T as Foo>::Item = U)
.