@@ -698,28 +698,28 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
698
698
// We need to use machine arithmetic.
699
699
let niche_start_val = ImmTy :: from_uint ( niche_start, discr_layout) ;
700
700
let variants_start_val = ImmTy :: from_uint ( variants_start, discr_layout) ;
701
- let adjusted_discr = self . binary_op (
701
+ let variant_index_relative_val = self . binary_op (
702
702
mir:: BinOp :: Sub ,
703
703
discr_val,
704
704
niche_start_val,
705
705
) ?;
706
- let adjusted_discr = self . binary_op (
706
+ let variant_index_val = self . binary_op (
707
707
mir:: BinOp :: Add ,
708
- adjusted_discr ,
708
+ variant_index_relative_val ,
709
709
variants_start_val,
710
710
) ?;
711
- let adjusted_discr = adjusted_discr
711
+ let variant_index = variant_index_val
712
712
. to_scalar ( ) ?
713
713
. assert_bits ( discr_val. layout . size ) ;
714
714
// Check if this is in the range that indicates an actual discriminant.
715
- if variants_start <= adjusted_discr && adjusted_discr <= variants_end {
716
- let index = adjusted_discr as usize ;
717
- assert_eq ! ( index as u128 , adjusted_discr ) ;
715
+ if variants_start <= variant_index && variant_index <= variants_end {
716
+ let index = variant_index as usize ;
717
+ assert_eq ! ( index as u128 , variant_index ) ;
718
718
assert ! ( index < rval. layout. ty
719
719
. ty_adt_def( )
720
720
. expect( "tagged layout for non adt" )
721
721
. variants. len( ) ) ;
722
- ( adjusted_discr , VariantIdx :: from_usize ( index) )
722
+ ( variant_index , VariantIdx :: from_usize ( index) )
723
723
} else {
724
724
( dataful_variant. as_u32 ( ) as u128 , dataful_variant)
725
725
}
0 commit comments