Function chalk_solve::clauses::match_ty
source · fn match_ty<I: Interner>(
builder: &mut ClauseBuilder<'_, I>,
environment: &Environment<I>,
ty: &Ty<I>,
) -> Result<(), Floundered>
Expand description
Examine T
and push clauses that may be relevant to proving the
following sorts of goals (and maybe others):
DomainGoal::WellFormed(T)
DomainGoal::IsUpstream(T)
DomainGoal::DownstreamType(T)
DomainGoal::IsFullyVisible(T)
DomainGoal::IsLocal(T)
Note that the type T
must not be an unbound inference variable;
earlier parts of the logic should “flounder” in that case.