Skip to content

Commit ab97c87

Browse files
committed
Update to rustc sanity check branch
1 parent e1dbbe5 commit ab97c87

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
@@ -768,7 +768,8 @@ impl<'a, 'mir, 'tcx: 'mir + 'a> EvalContextExt<'tcx> for EvalContext<'a, 'mir, '
768768

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

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

0 commit comments

Comments
 (0)