1
Fork 0

Rollup merge of #133326 - nnethercote:rm-DefinitelyInitializedPlaces, r=cjgillot

Remove the `DefinitelyInitializedPlaces` analysis.

Its only use is in the `tests/ui/mir-dataflow/def_inits-1.rs` where it is tested via `rustc_peek_definite_init`.

Also, it's probably buggy. It's supposed to be the inverse of `MaybeUninitializedPlaces`, and it mostly is, except that `apply_terminator_effect` is a little different, and `apply_switch_int_edge_effects` is missing. Unlike `MaybeUninitializedPlaces`, which is used extensively in borrow checking, any bugs in `DefinitelyInitializedPlaces` are easy to overlook because it is only used in one small test.

This commit removes the analysis. It also removes
`rustc_peek_definite_init`, `Dual` and `MeetSemiLattice`, all of which are no longer needed.

r? ``@cjgillot``
This commit is contained in:
Michael Goulet 2024-11-26 12:03:42 -05:00 committed by GitHub
commit 3e1a089257
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 13 additions and 358 deletions

View file

@ -1728,7 +1728,6 @@ symbols! {
rustc_partition_reused,
rustc_pass_by_value,
rustc_peek,
rustc_peek_definite_init,
rustc_peek_liveness,
rustc_peek_maybe_init,
rustc_peek_maybe_uninit,