diff options
| author | Camille GILLOT <gillot.camille@gmail.com> | 2025-07-05 22:53:19 +0000 |
|---|---|---|
| committer | Josh Stone <jistone@redhat.com> | 2025-07-10 13:30:37 -0700 |
| commit | 091578b73d370eae94e5f3fc999c198eb87b24f5 (patch) | |
| tree | 694464e2ef948c6ce5b5631fad99ab4816870e6b /compiler | |
| parent | d53af551254344330472c12bfb17bc1363fc0ec1 (diff) | |
| download | rust-091578b73d370eae94e5f3fc999c198eb87b24f5.tar.gz rust-091578b73d370eae94e5f3fc999c198eb87b24f5.zip | |
Do not unify borrowed locals in CopyProp.
(cherry picked from commit bab9c752e836bb94d87249422d48f8c85b4f41a4)
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/rustc_mir_transform/src/ssa.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/rustc_mir_transform/src/ssa.rs b/compiler/rustc_mir_transform/src/ssa.rs index 03b6f9b7ff3..d3b4b99e932 100644 --- a/compiler/rustc_mir_transform/src/ssa.rs +++ b/compiler/rustc_mir_transform/src/ssa.rs @@ -322,8 +322,8 @@ fn compute_copy_classes(ssa: &mut SsaLocals, body: &Body<'_>) { // visited before `local`, and we just have to copy the representing local. let head = copies[rhs]; - // Do not unify two borrowed locals. - if borrowed_classes.contains(local) && borrowed_classes.contains(head) { + // Do not unify borrowed locals. + if borrowed_classes.contains(local) || borrowed_classes.contains(head) { continue; } |
