@@ -4,7 +4,7 @@ use clippy_utils::msrvs::{self, Msrv};
44use clippy_utils:: source:: snippet_with_applicability;
55use clippy_utils:: sugg:: Sugg ;
66use rustc_errors:: Applicability ;
7- use rustc_hir:: { Expr , ExprKind , Mutability , QPath , TyKind } ;
7+ use rustc_hir:: { Expr , ExprKind , QPath , TyKind } ;
88use rustc_lint:: LateContext ;
99use rustc_middle:: ty;
1010use rustc_span:: { Span , sym} ;
@@ -31,8 +31,7 @@ pub(super) fn check<'tcx>(cx: &LateContext<'tcx>, expr: &Expr<'tcx>, msrv: Msrv)
3131 && let ( cast_from, cast_to) = ( cx. typeck_results ( ) . expr_ty ( cast_expr) , cx. typeck_results ( ) . expr_ty ( expr) )
3232 && let ty:: RawPtr ( _, from_mutbl) = cast_from. kind ( )
3333 && let ty:: RawPtr ( to_pointee_ty, to_mutbl) = cast_to. kind ( )
34- && matches ! ( ( from_mutbl, to_mutbl) ,
35- ( Mutability :: Not , Mutability :: Not ) | ( Mutability :: Mut , Mutability :: Mut ) )
34+ && from_mutbl == to_mutbl
3635 // The `U` in `pointer::cast` have to be `Sized`
3736 // as explained here: https://github.com/rust-lang/rust/issues/60602.
3837 && to_pointee_ty. is_sized ( cx. tcx , cx. typing_env ( ) )
0 commit comments