mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-02 22:02:51 +01:00
This splits off the functionality to handle the base facet type, rewrites, and impls constraints into separate functions. We use the Context instead of EvalContext throughout, as the goal is to move this code to EvalConstantInst in time. That means we do not apply specifics to the functions in the requirements inst block. That is fine because WhereExpr never evaluates to an WhereExpr, so this instruction never survives as a constant value long enough to be re-evaluated with a specific applied to it.