Remove uniform array move MIR passes This PR fixes a number of bugs caused by limitations of this pass * Projections from constant indexes weren't being canonicalized * Constant indexes from the start weren't being canonicalized (they could have different min_lengths) * It didn't apply to non-moves This PR makes the following changes to support removing this pass: * ConstantIndex of arrays are now generated in a canonical form (from the start, min_length is the actual length). * Subslices are now split when generating move paths and when checking subslices have been moved. Additionally * The parent move path of a projection from an array element is now calculated correctly closes #66502 |
||
|---|---|---|
| .. | ||
| benches | ||
| dep_graph | ||
| hir | ||
| ich | ||
| infer | ||
| lint | ||
| middle | ||
| mir | ||
| query | ||
| traits | ||
| ty | ||
| util | ||
| arena.rs | ||
| build.rs | ||
| Cargo.toml | ||
| lib.rs | ||
| macros.rs | ||
| README.md | ||
| tests.rs | ||
For more information about how rustc works, see the rustc guide.