summary refs log tree commit diff
path: root/compiler
diff options
context:
space:
mode:
author许杰友 Jieyou Xu (Joe) <39484203+jieyouxu@users.noreply.github.com>2024-10-30 21:11:37 +0800
committerJosh Stone <jistone@redhat.com>2024-11-01 11:15:23 -0700
commitb5bc13a36741c9a5199eada4baf331ff7bdfcc05 (patch)
tree9905a4d989ab08f29b4880fa8eb1b084968b4495 /compiler
parent90a1f5f7896f4ce0e21b40e52553dd5cc0fa6316 (diff)
downloadrust-b5bc13a36741c9a5199eada4baf331ff7bdfcc05.tar.gz
rust-b5bc13a36741c9a5199eada4baf331ff7bdfcc05.zip
Mark `simplify_aggregate_to_copy` mir-opt as unsound
Co-authored-by: DianQK <dianqk@dianqk.net>
(cherry picked from commit 10b8ba4ecb19ac2eb7be97a1a1eb1ffae9fec534)
Diffstat (limited to 'compiler')
-rw-r--r--compiler/rustc_mir_transform/src/gvn.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/rustc_mir_transform/src/gvn.rs b/compiler/rustc_mir_transform/src/gvn.rs
index daf868559bc..de53ebfcd0e 100644
--- a/compiler/rustc_mir_transform/src/gvn.rs
+++ b/compiler/rustc_mir_transform/src/gvn.rs
@@ -1079,7 +1079,9 @@ impl<'body, 'tcx> VnState<'body, 'tcx> {
             }
         }
 
-        if let AggregateTy::Def(_, _) = ty
+        // unsound: https://github.com/rust-lang/rust/issues/132353
+        if tcx.sess.opts.unstable_opts.unsound_mir_opts
+            && let AggregateTy::Def(_, _) = ty
             && let Some(value) =
                 self.simplify_aggregate_to_copy(rvalue, location, &fields, variant_index)
         {