Skip to content

Commit

Permalink
Auto merge of #118216 - lqd:constraint-generation-non-non, r=matthewj…
Browse files Browse the repository at this point in the history
…asper

Refactor NLL constraint generation and most of polonius fact generation

As discussed in #118175, NLL "constraint generation" is only about liveness, but currently also contains legacy polonius fact generation. The latter is quite messy, and this PR cleans this up to prepare for its future removal:

- splits polonius fact generation out of NLL constraint generation
- merges NLL constraint generation to its more natural place, liveness
- extracts all of the polonius fact generation from NLLs apart from MIR typeck (as fact generation is somewhat in a single place there already, but should be cleaned up) into its own explicit module, with a single entry point instead of many.

There should be no behavior changes, and tests seem to behave the same as master: without polonius, with legacy polonius, with the in-tree polonius.

I've split everything into smaller logical commits for easier review, as it required quite a bit of code to be split and moved around, but it should all be trivial changes.

r? `@matthewjasper`
  • Loading branch information
bors committed Dec 1, 2023
2 parents 1bf7b8a + e550422 commit 66e5237
Showing 0 changed files with 0 additions and 0 deletions.

0 comments on commit 66e5237

Please sign in to comment.