Auto merge of #7068 - boxdot:remove-std-ptr-null, r=camsteffen
Remove paths::STD_PTR_NULL Related to #5393 changelog: none
This commit is contained in:
commit
e9728b80ce
@ -1,6 +1,6 @@
|
||||
use crate::consts::{constant_context, Constant};
|
||||
use clippy_utils::diagnostics::span_lint;
|
||||
use clippy_utils::{match_qpath, paths};
|
||||
use clippy_utils::{match_def_path, paths};
|
||||
use if_chain::if_chain;
|
||||
use rustc_ast::LitKind;
|
||||
use rustc_hir::{Expr, ExprKind};
|
||||
@ -38,10 +38,10 @@ fn check_expr(&mut self, cx: &LateContext<'tcx>, expr: &'tcx Expr<'_>) {
|
||||
|
||||
if_chain! {
|
||||
if let ExprKind::Call(func, args) = expr.kind;
|
||||
if let ExprKind::Path(ref path) = func.kind;
|
||||
if match_qpath(path, &paths::STD_MEM_TRANSMUTE);
|
||||
if args.len() == 1;
|
||||
|
||||
if let ExprKind::Path(ref path) = func.kind;
|
||||
if let Some(func_def_id) = cx.qpath_res(path, func.hir_id).opt_def_id();
|
||||
if match_def_path(cx, func_def_id, &paths::TRANSMUTE);
|
||||
then {
|
||||
|
||||
// Catching transmute over constants that resolve to `null`.
|
||||
@ -69,10 +69,10 @@ fn check_expr(&mut self, cx: &LateContext<'tcx>, expr: &'tcx Expr<'_>) {
|
||||
// Catching:
|
||||
// `std::mem::transmute(std::ptr::null::<i32>())`
|
||||
if_chain! {
|
||||
if let ExprKind::Call(func1, args1) = args[0].kind;
|
||||
if let ExprKind::Call(func1, []) = args[0].kind;
|
||||
if let ExprKind::Path(ref path1) = func1.kind;
|
||||
if match_qpath(path1, &paths::STD_PTR_NULL);
|
||||
if args1.is_empty();
|
||||
if let Some(func1_def_id) = cx.qpath_res(path1, func1.hir_id).opt_def_id();
|
||||
if match_def_path(cx, func1_def_id, &paths::PTR_NULL);
|
||||
then {
|
||||
span_lint(cx, TRANSMUTING_NULL, expr.span, LINT_MSG)
|
||||
}
|
||||
|
@ -142,8 +142,6 @@
|
||||
pub const STDOUT: [&str; 4] = ["std", "io", "stdio", "stdout"];
|
||||
pub const STD_CONVERT_IDENTITY: [&str; 3] = ["std", "convert", "identity"];
|
||||
pub const STD_FS_CREATE_DIR: [&str; 3] = ["std", "fs", "create_dir"];
|
||||
pub const STD_MEM_TRANSMUTE: [&str; 3] = ["std", "mem", "transmute"];
|
||||
pub const STD_PTR_NULL: [&str; 3] = ["std", "ptr", "null"];
|
||||
pub const STRING_AS_MUT_STR: [&str; 4] = ["alloc", "string", "String", "as_mut_str"];
|
||||
pub const STRING_AS_STR: [&str; 4] = ["alloc", "string", "String", "as_str"];
|
||||
pub const STR_ENDS_WITH: [&str; 4] = ["core", "str", "<impl str>", "ends_with"];
|
||||
|
Loading…
Reference in New Issue
Block a user