diff options
| author | Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de> | 2022-11-03 08:17:08 +0000 |
|---|---|---|
| committer | Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de> | 2022-11-25 08:00:26 +0000 |
| commit | c3eb8f27786482cac6b28b13eda8af0e919a556c (patch) | |
| tree | 58f9842773958849988f727a579fcd8c041a2666 | |
| parent | 2b8963a94c9faa980ab534a2ee1a4118865c6645 (diff) | |
| download | rust-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.rs | 10 |
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. |
