Modulesยง
- fast_
path - This file contains a number of standalone functions useful for taking fast paths in the trait
solver. The exact place where we check for these fast paths changes, and matters a lot for
performance. Ideally weโd only check them in
evaluate_goal, but when evaluating root goals we can check them earlier and save some time creating anEvalCtxtin the first place. - probe ๐
- solver_
region_ ๐constraints - Logic for
-Zassumptions-on-bindersstuff
Structsยง
Enumsยง
- Current
Goal ๐Kind - The kind of goal weโre currently proving.
- Generate
Proof Tree - Rerun
Decision ๐
Traitsยง
Functionsยง
- evaluate_
root_ ๐goal_ for_ proof_ tree - Evaluate a goal to build a proof tree.
- evaluate_
root_ goal_ for_ proof_ tree_ raw_ provider - Do not call this directly, use the
tcxquery instead. - filter_
irrelevant_ ๐region_ constraints - maybe_
evaluate_ ๐root_ goal_ for_ proof_ tree_ with_ higher_ recursion_ limit - The old solver doesnโt check depth requirement when looking up cache while the next solver does so. Thus the next solver is more prone to overflow. To mitigate breakages, we re-evaluate the overflowed goal with doubled recursion limit and emit a FCW if doing so prevents overflow.
- maybe_
evaluate_ ๐root_ goal_ with_ higher_ recursion_ limit - The old solver doesnโt check depth requirement when looking up cache while the next solver does so. Thus the next solver is more prone to overflow. To mitigate breakages, we re-evaluate the overflowed goal with doubled recursion limit and emit a FCW if doing so prevents overflow.
- should_
rerun_ ๐after_ erased_ canonicalization