For https://github.com/rust-lang/compiler-team/issues/807 Steps: - [ ] Update the standard library to stop doing this - #133651 - #135236 - … - [ ] Update the compiler to stop doing this - https://github.com/rust-lang/rust/blob/490b2cc09860dd62a7595bb07364d71c12ce4e60/compiler/rustc_mir_transform/src/elaborate_box_derefs.rs#L37 - #135182 - #137112 - … - [ ] Add MIR-opts for any new patterns that show up from doing this - #133324 - … - [ ] Ban it in the MIR validator - … - [ ] Update MIR-opts to be more willing to merge projections and such - `sroa::escaping_locals` can stop looking at layout, for example - … SEO: `rustc_layout_scalar_valid_range_start` `rustc_layout_scalar_valid_range_end` `NonZero` `NonNull` "pattern types".
For rust-lang/compiler-team#807
Steps:
NonZeroandNonNullto not field-project (per MCP#807) #133651rust/compiler/rustc_mir_transform/src/elaborate_box_derefs.rs
Line 37 in 490b2cc
NonNullwhen dropping aBox#137112sroa::escaping_localscan stop looking at layout, for exampleSEO:
rustc_layout_scalar_valid_range_startrustc_layout_scalar_valid_range_endNonZeroNonNull"pattern types".