22
33use crate :: ich:: NodeIdHashingMode ;
44use crate :: middle:: codegen_fn_attrs:: CodegenFnAttrFlags ;
5- use crate :: mir:: interpret:: { sign_extend, truncate} ;
65use crate :: ty:: fold:: TypeFolder ;
76use crate :: ty:: layout:: IntegerExt ;
87use crate :: ty:: query:: TyCtxtAt ;
@@ -38,7 +37,7 @@ impl<'tcx> fmt::Display for Discr<'tcx> {
3837 let size = ty:: tls:: with ( |tcx| Integer :: from_attr ( & tcx, SignedInt ( ity) ) . size ( ) ) ;
3938 let x = self . val ;
4039 // sign extend the raw representation to be an i128
41- let x = sign_extend ( x, size ) as i128 ;
40+ let x = size . sign_extend ( x) as i128 ;
4241 write ! ( fmt, "{}" , x)
4342 }
4443 _ => write ! ( fmt, "{}" , self . val) ,
@@ -47,7 +46,7 @@ impl<'tcx> fmt::Display for Discr<'tcx> {
4746}
4847
4948fn signed_min ( size : Size ) -> i128 {
50- sign_extend ( 1_u128 << ( size. bits ( ) - 1 ) , size ) as i128
49+ size . sign_extend ( 1_u128 << ( size. bits ( ) - 1 ) ) as i128
5150}
5251
5352fn signed_max ( size : Size ) -> i128 {
@@ -77,14 +76,14 @@ impl<'tcx> Discr<'tcx> {
7776 let ( val, oflo) = if signed {
7877 let min = signed_min ( size) ;
7978 let max = signed_max ( size) ;
80- let val = sign_extend ( self . val , size ) as i128 ;
79+ let val = size . sign_extend ( self . val ) as i128 ;
8180 assert ! ( n < ( i128 :: MAX as u128 ) ) ;
8281 let n = n as i128 ;
8382 let oflo = val > max - n;
8483 let val = if oflo { min + ( n - ( max - val) - 1 ) } else { val + n } ;
8584 // zero the upper bits
8685 let val = val as u128 ;
87- let val = truncate ( val, size ) ;
86+ let val = size . truncate ( val) ;
8887 ( val, oflo)
8988 } else {
9089 let max = unsigned_max ( size) ;
@@ -650,7 +649,7 @@ impl<'tcx> ty::TyS<'tcx> {
650649 let val = match self . kind ( ) {
651650 ty:: Int ( _) | ty:: Uint ( _) => {
652651 let ( size, signed) = int_size_and_signed ( tcx, self ) ;
653- let val = if signed { truncate ( signed_min ( size) as u128 , size ) } else { 0 } ;
652+ let val = if signed { size . truncate ( signed_min ( size) as u128 ) } else { 0 } ;
654653 Some ( val)
655654 }
656655 ty:: Char => Some ( 0 ) ,
0 commit comments