| use rustc_errors::Applicability; | |
| use rustc_lint::LateContext; | |
| use rustc_middle::ty::Ty; | |
| pub fn check<'tcx>(cx: &LateContext<'tcx>, ty_into: Ty<'_>, cast_to_hir: &'tcx rustc_hir::Ty<'tcx>) { | |
| if let rustc_hir::TyKind::Ptr(rustc_hir::MutTy { ty, .. }) = cast_to_hir.kind | |
| && matches!(ty.kind, rustc_hir::TyKind::Infer(())) | |
| { | |
| clippy_utils::diagnostics::span_lint_and_sugg( | |
| cx, | |
| super::AS_POINTER_UNDERSCORE, | |
| cast_to_hir.span, | |
| "using inferred pointer cast", | |
| "use explicit type", | |
| ty_into.to_string(), | |
| Applicability::MachineApplicable, | |
| ); | |
| } | |
| } |