Skip to content

Commit 509054d

Browse files
committed
Fix ICE
1 parent 9b66df4 commit 509054d

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

src/discriminant.rs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,15 @@ pub(crate) fn codegen_set_discriminant<'tcx>(
2626
variants: _,
2727
} => {
2828
let ptr = place.place_field(fx, mir::Field::new(tag_field));
29-
let to = layout
30-
.ty
31-
.discriminant_for_variant(fx.tcx, variant_index)
32-
.unwrap()
33-
.val
34-
.into();
29+
let to = ty::ScalarInt::try_from_uint(
30+
layout
31+
.ty
32+
.discriminant_for_variant(fx.tcx, variant_index)
33+
.unwrap()
34+
.val,
35+
ptr.layout().size,
36+
)
37+
.unwrap();
3538
let discr = CValue::const_val(fx, ptr.layout(), to);
3639
ptr.write_cvalue(fx, discr);
3740
}

0 commit comments

Comments
 (0)