diff --git a/src/librustc_mir/interpret/operand.rs b/src/librustc_mir/interpret/operand.rs index 17dfe8b656c1a9817e5b56d334a58599be456e97..81ef8172da77f3e32ba6da81562084937d729e31 100644 --- a/src/librustc_mir/interpret/operand.rs +++ b/src/librustc_mir/interpret/operand.rs @@ -596,7 +596,8 @@ pub fn read_discriminant( Scalar::from_uint(discr.val, discr_layout.size) } None => { - // On a type without actual discriminants, return variant idx as `u8`. + // On a type without actual discriminants, variant is 0. Return variant idx as `u8`. + assert_eq!(index.as_u32(), 0); let discr_layout = self.layout_of(self.tcx.types.u8)?; Scalar::from_uint(index.as_u32(), discr_layout.size) }