@@ -312,7 +312,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
312312 e. span,
313313 & format!( "transmute from a type (`{}`) to itself" , from_ty) ,
314314 ) ,
315- ( & ty:: Ref ( _, rty, rty_mutbl) , & ty:: RawPtr ( ptr_ty) ) => span_lint_and_then(
315+ ( ty:: Ref ( _, rty, rty_mutbl) , ty:: RawPtr ( ptr_ty) ) => span_lint_and_then(
316316 cx,
317317 USELESS_TRANSMUTE ,
318318 e. span,
@@ -321,10 +321,10 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
321321 if let Some ( arg) = sugg:: Sugg :: hir_opt( cx, & args[ 0 ] ) {
322322 let rty_and_mut = ty:: TypeAndMut {
323323 ty: rty,
324- mutbl: rty_mutbl,
324+ mutbl: * rty_mutbl,
325325 } ;
326326
327- let sugg = if ptr_ty == rty_and_mut {
327+ let sugg = if * ptr_ty == rty_and_mut {
328328 arg. as_ty( to_ty)
329329 } else {
330330 arg. as_ty( cx. tcx. mk_ptr( rty_and_mut) ) . as_ty( to_ty)
@@ -334,7 +334,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
334334 }
335335 } ,
336336 ) ,
337- ( & ty:: Int ( _) , & ty :: RawPtr ( _ ) ) | ( & ty:: Uint ( _) , & ty:: RawPtr ( _) ) => span_lint_and_then(
337+ ( ty:: Int ( _) | ty:: Uint ( _) , ty:: RawPtr ( _) ) => span_lint_and_then(
338338 cx,
339339 USELESS_TRANSMUTE ,
340340 e. span,
@@ -350,16 +350,13 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
350350 }
351351 } ,
352352 ) ,
353- ( & ty:: Float ( _) , & ty:: Ref ( ..) )
354- | ( & ty:: Float ( _) , & ty:: RawPtr ( _) )
355- | ( & ty:: Char , & ty:: Ref ( ..) )
356- | ( & ty:: Char , & ty:: RawPtr ( _) ) => span_lint(
353+ ( ty:: Float ( _) | ty:: Char , ty:: Ref ( ..) | ty:: RawPtr ( _) ) => span_lint(
357354 cx,
358355 WRONG_TRANSMUTE ,
359356 e. span,
360357 & format!( "transmute from a `{}` to a pointer" , from_ty) ,
361358 ) ,
362- ( & ty:: RawPtr ( from_ptr) , _) if from_ptr. ty == to_ty => span_lint(
359+ ( ty:: RawPtr ( from_ptr) , _) if from_ptr. ty == to_ty => span_lint(
363360 cx,
364361 CROSSPOINTER_TRANSMUTE ,
365362 e. span,
@@ -368,7 +365,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
368365 from_ty, to_ty
369366 ) ,
370367 ) ,
371- ( _, & ty:: RawPtr ( to_ptr) ) if to_ptr. ty == from_ty => span_lint(
368+ ( _, ty:: RawPtr ( to_ptr) ) if to_ptr. ty == from_ty => span_lint(
372369 cx,
373370 CROSSPOINTER_TRANSMUTE ,
374371 e. span,
@@ -377,7 +374,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
377374 from_ty, to_ty
378375 ) ,
379376 ) ,
380- ( & ty:: RawPtr ( from_pty) , & ty:: Ref ( _, to_ref_ty, mutbl) ) => span_lint_and_then(
377+ ( ty:: RawPtr ( from_pty) , ty:: Ref ( _, to_ref_ty, mutbl) ) => span_lint_and_then(
381378 cx,
382379 TRANSMUTE_PTR_TO_REF ,
383380 e. span,
@@ -388,13 +385,13 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
388385 ) ,
389386 |diag| {
390387 let arg = sugg:: Sugg :: hir( cx, & args[ 0 ] , ".." ) ;
391- let ( deref, cast) = if mutbl == Mutability :: Mut {
388+ let ( deref, cast) = if * mutbl == Mutability :: Mut {
392389 ( "&mut *" , "*mut" )
393390 } else {
394391 ( "&*" , "*const" )
395392 } ;
396393
397- let arg = if from_pty. ty == to_ref_ty {
394+ let arg = if from_pty. ty == * to_ref_ty {
398395 arg
399396 } else {
400397 arg. as_ty( & format!( "{} {}" , cast, get_type_snippet( cx, qpath, to_ref_ty) ) )
@@ -408,7 +405,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
408405 ) ;
409406 } ,
410407 ) ,
411- ( & ty:: Int ( ast:: IntTy :: I32 ) , & ty :: Char ) | ( & ty:: Uint ( ast:: UintTy :: U32 ) , & ty:: Char ) => {
408+ ( ty:: Int ( ast:: IntTy :: I32 ) | ty:: Uint ( ast:: UintTy :: U32 ) , & ty:: Char ) => {
412409 span_lint_and_then(
413410 cx,
414411 TRANSMUTE_INT_TO_CHAR ,
@@ -430,13 +427,13 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
430427 } ,
431428 )
432429 } ,
433- ( & ty:: Ref ( _, ty_from, from_mutbl) , & ty:: Ref ( _, ty_to, to_mutbl) ) => {
430+ ( ty:: Ref ( _, ty_from, from_mutbl) , ty:: Ref ( _, ty_to, to_mutbl) ) => {
434431 if_chain! {
435432 if let ( & ty:: Slice ( slice_ty) , & ty:: Str ) = ( & ty_from. kind, & ty_to. kind) ;
436433 if let ty:: Uint ( ast:: UintTy :: U8 ) = slice_ty. kind;
437434 if from_mutbl == to_mutbl;
438435 then {
439- let postfix = if from_mutbl == Mutability :: Mut {
436+ let postfix = if * from_mutbl == Mutability :: Mut {
440437 "_mut"
441438 } else {
442439 ""
@@ -465,13 +462,13 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
465462 |diag| if let Some ( arg) = sugg:: Sugg :: hir_opt( cx, & args[ 0 ] ) {
466463 let ty_from_and_mut = ty:: TypeAndMut {
467464 ty: ty_from,
468- mutbl: from_mutbl
465+ mutbl: * from_mutbl
469466 } ;
470- let ty_to_and_mut = ty:: TypeAndMut { ty: ty_to, mutbl: to_mutbl } ;
467+ let ty_to_and_mut = ty:: TypeAndMut { ty: ty_to, mutbl: * to_mutbl } ;
471468 let sugg_paren = arg
472469 . as_ty( cx. tcx. mk_ptr( ty_from_and_mut) )
473470 . as_ty( cx. tcx. mk_ptr( ty_to_and_mut) ) ;
474- let sugg = if to_mutbl == Mutability :: Mut {
471+ let sugg = if * to_mutbl == Mutability :: Mut {
475472 sugg_paren. mut_addr_deref( )
476473 } else {
477474 sugg_paren. addr_deref( )
@@ -488,19 +485,19 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
488485 }
489486 }
490487 } ,
491- ( & ty:: RawPtr ( _) , & ty:: RawPtr ( to_ty) ) => span_lint_and_then(
488+ ( ty:: RawPtr ( _) , ty:: RawPtr ( to_ty) ) => span_lint_and_then(
492489 cx,
493490 TRANSMUTE_PTR_TO_PTR ,
494491 e. span,
495492 "transmute from a pointer to a pointer" ,
496493 |diag| {
497494 if let Some ( arg) = sugg:: Sugg :: hir_opt( cx, & args[ 0 ] ) {
498- let sugg = arg. as_ty( cx. tcx. mk_ptr( to_ty) ) ;
495+ let sugg = arg. as_ty( cx. tcx. mk_ptr( * to_ty) ) ;
499496 diag. span_suggestion( e. span, "try" , sugg. to_string( ) , Applicability :: Unspecified ) ;
500497 }
501498 } ,
502499 ) ,
503- ( & ty:: Int ( ast:: IntTy :: I8 ) , & ty :: Bool ) | ( & ty:: Uint ( ast:: UintTy :: U8 ) , & ty:: Bool ) => {
500+ ( ty:: Int ( ast:: IntTy :: I8 ) | ty:: Uint ( ast:: UintTy :: U8 ) , ty:: Bool ) => {
504501 span_lint_and_then(
505502 cx,
506503 TRANSMUTE_INT_TO_BOOL ,
@@ -518,7 +515,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
518515 } ,
519516 )
520517 } ,
521- ( & ty:: Int ( _) , & ty :: Float ( _ ) ) | ( & ty:: Uint ( _) , & ty:: Float ( _) ) => span_lint_and_then(
518+ ( ty:: Int ( _) | ty:: Uint ( _) , ty:: Float ( _) ) => span_lint_and_then(
522519 cx,
523520 TRANSMUTE_INT_TO_FLOAT ,
524521 e. span,
@@ -541,7 +538,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
541538 ) ;
542539 } ,
543540 ) ,
544- ( & ty:: Float ( float_ty) , & ty:: Int ( _) ) | ( & ty :: Float ( float_ty ) , & ty:: Uint ( _) ) => span_lint_and_then(
541+ ( ty:: Float ( float_ty) , ty:: Int ( _) | ty:: Uint ( _) ) => span_lint_and_then(
545542 cx,
546543 TRANSMUTE_FLOAT_TO_INT ,
547544 e. span,
@@ -585,7 +582,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
585582 ) ;
586583 } ,
587584 ) ,
588- ( & ty:: Adt ( ref from_adt, ref from_substs) , & ty:: Adt ( ref to_adt, ref to_substs) ) => {
585+ ( ty:: Adt ( from_adt, from_substs) , ty:: Adt ( to_adt, to_substs) ) => {
589586 if from_adt. did != to_adt. did ||
590587 !COLLECTIONS . iter( ) . any( |path| match_def_path( cx, to_adt. did, path) ) {
591588 return ;
0 commit comments