@@ -311,7 +311,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
311311 e. span,
312312 & format!( "transmute from a type (`{}`) to itself" , from_ty) ,
313313 ) ,
314- ( & ty:: Ref ( _, rty, rty_mutbl) , & ty:: RawPtr ( ptr_ty) ) => span_lint_and_then(
314+ ( ty:: Ref ( _, rty, rty_mutbl) , ty:: RawPtr ( ptr_ty) ) => span_lint_and_then(
315315 cx,
316316 USELESS_TRANSMUTE ,
317317 e. span,
@@ -320,10 +320,10 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
320320 if let Some ( arg) = sugg:: Sugg :: hir_opt( cx, & args[ 0 ] ) {
321321 let rty_and_mut = ty:: TypeAndMut {
322322 ty: rty,
323- mutbl: rty_mutbl,
323+ mutbl: * rty_mutbl,
324324 } ;
325325
326- let sugg = if ptr_ty == rty_and_mut {
326+ let sugg = if * ptr_ty == rty_and_mut {
327327 arg. as_ty( to_ty)
328328 } else {
329329 arg. as_ty( cx. tcx. mk_ptr( rty_and_mut) ) . as_ty( to_ty)
@@ -333,7 +333,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
333333 }
334334 } ,
335335 ) ,
336- ( & ty:: Int ( _) , & ty :: RawPtr ( _ ) ) | ( & ty:: Uint ( _) , & ty:: RawPtr ( _) ) => span_lint_and_then(
336+ ( ty:: Int ( _) | ty:: Uint ( _) , ty:: RawPtr ( _) ) => span_lint_and_then(
337337 cx,
338338 USELESS_TRANSMUTE ,
339339 e. span,
@@ -349,16 +349,13 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
349349 }
350350 } ,
351351 ) ,
352- ( & ty:: Float ( _) , & ty:: Ref ( ..) )
353- | ( & ty:: Float ( _) , & ty:: RawPtr ( _) )
354- | ( & ty:: Char , & ty:: Ref ( ..) )
355- | ( & ty:: Char , & ty:: RawPtr ( _) ) => span_lint(
352+ ( ty:: Float ( _) | ty:: Char , ty:: Ref ( ..) | ty:: RawPtr ( _) ) => span_lint(
356353 cx,
357354 WRONG_TRANSMUTE ,
358355 e. span,
359356 & format!( "transmute from a `{}` to a pointer" , from_ty) ,
360357 ) ,
361- ( & ty:: RawPtr ( from_ptr) , _) if from_ptr. ty == to_ty => span_lint(
358+ ( ty:: RawPtr ( from_ptr) , _) if from_ptr. ty == to_ty => span_lint(
362359 cx,
363360 CROSSPOINTER_TRANSMUTE ,
364361 e. span,
@@ -367,7 +364,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
367364 from_ty, to_ty
368365 ) ,
369366 ) ,
370- ( _, & ty:: RawPtr ( to_ptr) ) if to_ptr. ty == from_ty => span_lint(
367+ ( _, ty:: RawPtr ( to_ptr) ) if to_ptr. ty == from_ty => span_lint(
371368 cx,
372369 CROSSPOINTER_TRANSMUTE ,
373370 e. span,
@@ -376,7 +373,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
376373 from_ty, to_ty
377374 ) ,
378375 ) ,
379- ( & ty:: RawPtr ( from_pty) , & ty:: Ref ( _, to_ref_ty, mutbl) ) => span_lint_and_then(
376+ ( ty:: RawPtr ( from_pty) , ty:: Ref ( _, to_ref_ty, mutbl) ) => span_lint_and_then(
380377 cx,
381378 TRANSMUTE_PTR_TO_REF ,
382379 e. span,
@@ -387,13 +384,13 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
387384 ) ,
388385 |db| {
389386 let arg = sugg:: Sugg :: hir( cx, & args[ 0 ] , ".." ) ;
390- let ( deref, cast) = if mutbl == Mutability :: Mut {
387+ let ( deref, cast) = if * mutbl == Mutability :: Mut {
391388 ( "&mut *" , "*mut" )
392389 } else {
393390 ( "&*" , "*const" )
394391 } ;
395392
396- let arg = if from_pty. ty == to_ref_ty {
393+ let arg = if from_pty. ty == * to_ref_ty {
397394 arg
398395 } else {
399396 arg. as_ty( & format!( "{} {}" , cast, get_type_snippet( cx, qpath, to_ref_ty) ) )
@@ -407,7 +404,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
407404 ) ;
408405 } ,
409406 ) ,
410- ( & ty:: Int ( ast:: IntTy :: I32 ) , & ty :: Char ) | ( & ty:: Uint ( ast:: UintTy :: U32 ) , & ty:: Char ) => {
407+ ( ty:: Int ( ast:: IntTy :: I32 ) | ty:: Uint ( ast:: UintTy :: U32 ) , & ty:: Char ) => {
411408 span_lint_and_then(
412409 cx,
413410 TRANSMUTE_INT_TO_CHAR ,
@@ -429,13 +426,13 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
429426 } ,
430427 )
431428 } ,
432- ( & ty:: Ref ( _, ty_from, from_mutbl) , & ty:: Ref ( _, ty_to, to_mutbl) ) => {
429+ ( ty:: Ref ( _, ty_from, from_mutbl) , ty:: Ref ( _, ty_to, to_mutbl) ) => {
433430 if_chain! {
434431 if let ( & ty:: Slice ( slice_ty) , & ty:: Str ) = ( & ty_from. kind, & ty_to. kind) ;
435432 if let ty:: Uint ( ast:: UintTy :: U8 ) = slice_ty. kind;
436433 if from_mutbl == to_mutbl;
437434 then {
438- let postfix = if from_mutbl == Mutability :: Mut {
435+ let postfix = if * from_mutbl == Mutability :: Mut {
439436 "_mut"
440437 } else {
441438 ""
@@ -469,13 +466,13 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
469466 |db| if let Some ( arg) = sugg:: Sugg :: hir_opt( cx, & args[ 0 ] ) {
470467 let ty_from_and_mut = ty:: TypeAndMut {
471468 ty: ty_from,
472- mutbl: from_mutbl
469+ mutbl: * from_mutbl
473470 } ;
474- let ty_to_and_mut = ty:: TypeAndMut { ty: ty_to, mutbl: to_mutbl } ;
471+ let ty_to_and_mut = ty:: TypeAndMut { ty: ty_to, mutbl: * to_mutbl } ;
475472 let sugg_paren = arg
476473 . as_ty( cx. tcx. mk_ptr( ty_from_and_mut) )
477474 . as_ty( cx. tcx. mk_ptr( ty_to_and_mut) ) ;
478- let sugg = if to_mutbl == Mutability :: Mut {
475+ let sugg = if * to_mutbl == Mutability :: Mut {
479476 sugg_paren. mut_addr_deref( )
480477 } else {
481478 sugg_paren. addr_deref( )
@@ -492,19 +489,19 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
492489 }
493490 }
494491 } ,
495- ( & ty:: RawPtr ( _) , & ty:: RawPtr ( to_ty) ) => span_lint_and_then(
492+ ( ty:: RawPtr ( _) , ty:: RawPtr ( to_ty) ) => span_lint_and_then(
496493 cx,
497494 TRANSMUTE_PTR_TO_PTR ,
498495 e. span,
499496 "transmute from a pointer to a pointer" ,
500497 |db| {
501498 if let Some ( arg) = sugg:: Sugg :: hir_opt( cx, & args[ 0 ] ) {
502- let sugg = arg. as_ty( cx. tcx. mk_ptr( to_ty) ) ;
499+ let sugg = arg. as_ty( cx. tcx. mk_ptr( * to_ty) ) ;
503500 db. span_suggestion( e. span, "try" , sugg. to_string( ) , Applicability :: Unspecified ) ;
504501 }
505502 } ,
506503 ) ,
507- ( & ty:: Int ( ast:: IntTy :: I8 ) , & ty :: Bool ) | ( & ty:: Uint ( ast:: UintTy :: U8 ) , & ty:: Bool ) => {
504+ ( ty:: Int ( ast:: IntTy :: I8 ) | ty:: Uint ( ast:: UintTy :: U8 ) , ty:: Bool ) => {
508505 span_lint_and_then(
509506 cx,
510507 TRANSMUTE_INT_TO_BOOL ,
@@ -522,7 +519,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
522519 } ,
523520 )
524521 } ,
525- ( & ty:: Int ( _) , & ty :: Float ( _ ) ) | ( & ty:: Uint ( _) , & ty:: Float ( _) ) => span_lint_and_then(
522+ ( ty:: Int ( _) | ty:: Uint ( _) , ty:: Float ( _) ) => span_lint_and_then(
526523 cx,
527524 TRANSMUTE_INT_TO_FLOAT ,
528525 e. span,
@@ -545,7 +542,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
545542 ) ;
546543 } ,
547544 ) ,
548- ( & ty:: Float ( float_ty) , & ty:: Int ( _) ) | ( & ty :: Float ( float_ty ) , & ty:: Uint ( _) ) => span_lint_and_then(
545+ ( ty:: Float ( float_ty) , ty:: Int ( _) | ty:: Uint ( _) ) => span_lint_and_then(
549546 cx,
550547 TRANSMUTE_FLOAT_TO_INT ,
551548 e. span,
@@ -589,7 +586,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute {
589586 ) ;
590587 } ,
591588 ) ,
592- ( & ty:: Adt ( ref from_adt, ref from_substs) , & ty:: Adt ( ref to_adt, ref to_substs) ) => {
589+ ( ty:: Adt ( from_adt, from_substs) , ty:: Adt ( to_adt, to_substs) ) => {
593590 if from_adt. did != to_adt. did ||
594591 !COLLECTIONS . iter( ) . any( |path| match_def_path( cx, to_adt. did, path) ) {
595592 return ;
0 commit comments