Skip to content

Commit cc3b93c

Browse files
oli-obkRalfJung
authored andcommitted
Update to rustc sanity check branch
1 parent 9b89d0b commit cc3b93c

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

766766
match adt.adt_kind() {
767767
AdtKind::Enum => {
768-
let variant_idx = self.read_discriminant_as_variant_index(query.place.1, query.ty)?;
768+
let layout = self.layout_of(query.ty)?;
769+
let variant_idx = self.read_discriminant_as_variant_index(query.place.1, layout)?;
769770
let variant = &adt.variants[variant_idx];
770771

771772
if !variant.fields.is_empty() {

0 commit comments

Comments
 (0)