Module chalk_solve::clauses::generalize

source ·
Expand description

This gets rid of free variables in a type by replacing them by fresh bound ones. We use this when building clauses that contain types passed to program_clauses; these may contain variables, and just copying those variables verbatim leads to problems. Instead, we return a slightly more general program clause, with new variables in those places. This can only happen with dyn Trait currently; that’s the only case where we use the types passed to program_clauses in the clauses we generate.

Structs§