about summary refs log tree commit diff
diff options
context:
space:
mode:
authorOli Scherer <git-spam-no-reply9815368754983@oli-obk.de>2022-11-03 08:17:08 +0000
committerOli Scherer <git-spam-no-reply9815368754983@oli-obk.de>2022-11-25 08:00:26 +0000
commitc3eb8f27786482cac6b28b13eda8af0e919a556c (patch)
tree58f9842773958849988f727a579fcd8c041a2666
parent2b8963a94c9faa980ab534a2ee1a4118865c6645 (diff)
downloadrust-c3eb8f27786482cac6b28b13eda8af0e919a556c.tar.gz
rust-c3eb8f27786482cac6b28b13eda8af0e919a556c.zip
`rustc_layout_scalar_valid_range` can be applied to scalar pairs and affects teh first scalar
-rw-r--r--compiler/rustc_const_eval/src/interpret/validity.rs10
1 files changed, 1 insertions, 9 deletions
diff --git a/compiler/rustc_const_eval/src/interpret/validity.rs b/compiler/rustc_const_eval/src/interpret/validity.rs
index cd7a472c0f0..d69192ef6ed 100644
--- a/compiler/rustc_const_eval/src/interpret/validity.rs
+++ b/compiler/rustc_const_eval/src/interpret/validity.rs
@@ -785,15 +785,7 @@ impl<'rt, 'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> ValueVisitor<'mir, 'tcx, M>
                 }
             }
             Abi::ScalarPair(a_layout, b_layout) => {
-                // There is no `rustc_layout_scalar_valid_range_start` for pairs, so
-                // we would validate these things as we descend into the fields,
-                // but that can miss bugs in layout computation. Layout computation
-                // is subtle due to enums having ScalarPair layout, where one field
-                // is the discriminant.
-                if cfg!(debug_assertions)
-                    && !a_layout.is_uninit_valid()
-                    && !b_layout.is_uninit_valid()
-                {
+                if !a_layout.is_uninit_valid() && !b_layout.is_uninit_valid() {
                     // We can only proceed if *both* scalars need to be initialized.
                     // FIXME: find a way to also check ScalarPair when one side can be uninit but
                     // the other must be init.