Skip to content

Commit 4728b7a

Browse files
committed
Update to rustc sanity check branch
1 parent 9ba64e2 commit 4728b7a

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

src/intrinsic.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,10 +245,11 @@ impl<'a, 'mir, 'tcx> EvalContextExt<'tcx> for EvalContext<'a, 'mir, 'tcx, super:
245245

246246
"discriminant_value" => {
247247
let ty = substs.type_at(0);
248+
let layout = self.layout_of(ty)?;
248249
let adt_ptr = self.into_ptr(args[0].value)?;
249250
let adt_align = self.layout_of(args[0].ty)?.align;
250251
let place = Place::from_scalar_ptr(adt_ptr, adt_align);
251-
let discr_val = self.read_discriminant_value(place, ty)?;
252+
let discr_val = self.read_discriminant_value(place, layout)?;
252253
self.write_scalar(dest, Scalar::from_u128(discr_val), dest_layout.ty)?;
253254
}
254255

src/validation.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -769,7 +769,8 @@ impl<'a, 'mir, 'tcx: 'mir + 'a> EvalContextExt<'tcx> for EvalContext<'a, 'mir, '
769769

770770
match adt.adt_kind() {
771771
AdtKind::Enum => {
772-
let variant_idx = self.read_discriminant_as_variant_index(query.place.1, query.ty)?;
772+
let layout = self.layout_of(query.ty)?;
773+
let variant_idx = self.read_discriminant_as_variant_index(query.place.1, layout)?;
773774
let variant = &adt.variants[variant_idx];
774775

775776
if variant.fields.len() > 0 {

0 commit comments

Comments
 (0)