@@ -286,7 +286,7 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> {
286286
287287 let newval = match ( r_t_in, r_t_out) {
288288 ( CastTy :: Int ( i) , CastTy :: Int ( _) ) => {
289- bx. intcast ( llval, ll_t_out, matches ! ( i , IntTy :: I ) )
289+ bx. intcast ( llval, ll_t_out, i . is_signed ( ) )
290290 }
291291 ( CastTy :: Float , CastTy :: Float ) => {
292292 let srcsz = bx. cx ( ) . float_width ( ll_t_in) ;
@@ -300,7 +300,7 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> {
300300 }
301301 }
302302 ( CastTy :: Int ( i) , CastTy :: Float ) => {
303- if matches ! ( i , IntTy :: I ) {
303+ if i . is_signed ( ) {
304304 bx. sitofp ( llval, ll_t_out)
305305 } else {
306306 bx. uitofp ( llval, ll_t_out)
@@ -311,7 +311,7 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> {
311311 }
312312 ( CastTy :: Int ( i) , CastTy :: Ptr ( _) ) => {
313313 let usize_llval =
314- bx. intcast ( llval, bx. cx ( ) . type_isize ( ) , matches ! ( i , IntTy :: I ) ) ;
314+ bx. intcast ( llval, bx. cx ( ) . type_isize ( ) , i . is_signed ( ) ) ;
315315 bx. inttoptr ( usize_llval, ll_t_out)
316316 }
317317 ( CastTy :: Float , CastTy :: Int ( IntTy :: I ) ) => {
0 commit comments