]> git.lizzy.rs Git - rust.git/commitdiff
Don't store the discriminant with the enum's type size
authorOliver Schneider <github35764891676564198441@oli-obk.de>
Wed, 30 May 2018 10:05:38 +0000 (12:05 +0200)
committerOliver Schneider <github35764891676564198441@oli-obk.de>
Thu, 31 May 2018 08:22:45 +0000 (10:22 +0200)
src/librustc_mir/interpret/eval_context.rs

index 9f6e376d3062afa417efc1088a607619133f2ee0..632f7abfdb499bc7ac3d0918e4f9c7d70ed7cba6 100644 (file)
@@ -793,7 +793,7 @@ pub(super) fn eval_rvalue_into_place(
                 let ty = self.place_ty(place);
                 let place = self.eval_place(place)?;
                 let discr_val = self.read_discriminant_value(place, ty)?;
-                let defined = self.layout_of(ty).unwrap().size.bits() as u8;
+                let defined = self.layout_of(dest_ty).unwrap().size.bits() as u8;
                 self.write_scalar(dest, Scalar::Bits {
                     bits: discr_val,
                     defined,