mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-10 07:04:18 +00:00
Add imports_granularity = "Module"
to rustfmt.toml
This commit is contained in:
parent
631faa1bc7
commit
2811effe34
279 changed files with 990 additions and 1055 deletions
|
@ -1,5 +1,6 @@
|
||||||
use ast::{AttrStyle, Attribute};
|
use ast::{AttrStyle, Attribute};
|
||||||
use clippy_utils::{diagnostics::span_lint_and_sugg, is_from_proc_macro};
|
use clippy_utils::diagnostics::span_lint_and_sugg;
|
||||||
|
use clippy_utils::is_from_proc_macro;
|
||||||
use rustc_ast as ast;
|
use rustc_ast as ast;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_lint::{LateContext, LateLintPass, LintContext};
|
use rustc_lint::{LateContext, LateLintPass, LintContext};
|
||||||
|
|
|
@ -2,8 +2,7 @@ use clippy_utils::diagnostics::span_lint_and_then;
|
||||||
use clippy_utils::last_path_segment;
|
use clippy_utils::last_path_segment;
|
||||||
use clippy_utils::ty::{implements_trait, is_type_diagnostic_item};
|
use clippy_utils::ty::{implements_trait, is_type_diagnostic_item};
|
||||||
use rustc_hir::{Expr, ExprKind};
|
use rustc_hir::{Expr, ExprKind};
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
use rustc_lint::LateLintPass;
|
|
||||||
use rustc_middle::ty;
|
use rustc_middle::ty;
|
||||||
use rustc_middle::ty::print::with_forced_trimmed_paths;
|
use rustc_middle::ty::print::with_forced_trimmed_paths;
|
||||||
use rustc_middle::ty::GenericArgKind;
|
use rustc_middle::ty::GenericArgKind;
|
||||||
|
|
|
@ -1,12 +1,10 @@
|
||||||
//! checks for attributes
|
//! checks for attributes
|
||||||
|
|
||||||
|
use clippy_utils::diagnostics::{span_lint, span_lint_and_help, span_lint_and_sugg, span_lint_and_then};
|
||||||
|
use clippy_utils::is_from_proc_macro;
|
||||||
use clippy_utils::macros::{is_panic, macro_backtrace};
|
use clippy_utils::macros::{is_panic, macro_backtrace};
|
||||||
use clippy_utils::msrvs::{self, Msrv};
|
use clippy_utils::msrvs::{self, Msrv};
|
||||||
use clippy_utils::source::{first_line_of_span, is_present_in_source, snippet_opt, without_block_comments};
|
use clippy_utils::source::{first_line_of_span, is_present_in_source, snippet_opt, without_block_comments};
|
||||||
use clippy_utils::{
|
|
||||||
diagnostics::{span_lint, span_lint_and_help, span_lint_and_sugg, span_lint_and_then},
|
|
||||||
is_from_proc_macro,
|
|
||||||
};
|
|
||||||
use if_chain::if_chain;
|
use if_chain::if_chain;
|
||||||
use rustc_ast::{AttrKind, AttrStyle, Attribute, LitKind, MetaItemKind, MetaItemLit, NestedMetaItem};
|
use rustc_ast::{AttrKind, AttrStyle, Attribute, LitKind, MetaItemKind, MetaItemLit, NestedMetaItem};
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
use clippy_utils::diagnostics::{span_lint, span_lint_and_sugg};
|
use clippy_utils::diagnostics::{span_lint, span_lint_and_sugg};
|
||||||
use clippy_utils::get_parent_expr;
|
|
||||||
use clippy_utils::higher;
|
|
||||||
use clippy_utils::source::snippet_block_with_applicability;
|
use clippy_utils::source::snippet_block_with_applicability;
|
||||||
use clippy_utils::ty::implements_trait;
|
use clippy_utils::ty::implements_trait;
|
||||||
use clippy_utils::visitors::{for_each_expr, Descend};
|
use clippy_utils::visitors::{for_each_expr, Descend};
|
||||||
|
use clippy_utils::{get_parent_expr, higher};
|
||||||
use core::ops::ControlFlow;
|
use core::ops::ControlFlow;
|
||||||
use if_chain::if_chain;
|
use if_chain::if_chain;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
|
|
|
@ -4,7 +4,9 @@ use rustc_hir::{Block, ExprKind};
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
||||||
|
|
||||||
use clippy_utils::{diagnostics::span_lint_and_then, in_constant, is_else_clause, is_integer_literal, sugg::Sugg};
|
use clippy_utils::diagnostics::span_lint_and_then;
|
||||||
|
use clippy_utils::sugg::Sugg;
|
||||||
|
use clippy_utils::{in_constant, is_else_clause, is_integer_literal};
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
|
|
||||||
declare_clippy_lint! {
|
declare_clippy_lint! {
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
use crate::reference::DEREF_ADDROF;
|
use crate::reference::DEREF_ADDROF;
|
||||||
use clippy_utils::diagnostics::span_lint_and_then;
|
use clippy_utils::diagnostics::span_lint_and_then;
|
||||||
use clippy_utils::is_from_proc_macro;
|
|
||||||
use clippy_utils::source::snippet_opt;
|
use clippy_utils::source::snippet_opt;
|
||||||
use clippy_utils::ty::implements_trait;
|
use clippy_utils::ty::implements_trait;
|
||||||
use clippy_utils::{get_parent_expr, is_lint_allowed};
|
use clippy_utils::{get_parent_expr, is_from_proc_macro, is_lint_allowed};
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{ExprKind, UnOp};
|
use rustc_hir::{ExprKind, UnOp};
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
|
|
|
@ -1,12 +1,10 @@
|
||||||
use clippy_utils::{
|
use clippy_utils::diagnostics::span_lint_and_sugg;
|
||||||
diagnostics::span_lint_and_sugg, get_parent_node, is_default_equivalent, macros::macro_backtrace, match_path,
|
use clippy_utils::macros::macro_backtrace;
|
||||||
path_def_id, paths, ty::expr_sig,
|
use clippy_utils::ty::expr_sig;
|
||||||
};
|
use clippy_utils::{get_parent_node, is_default_equivalent, match_path, path_def_id, paths};
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{
|
use rustc_hir::intravisit::{walk_ty, Visitor};
|
||||||
intravisit::{walk_ty, Visitor},
|
use rustc_hir::{Block, Expr, ExprKind, Local, Node, QPath, TyKind};
|
||||||
Block, Expr, ExprKind, Local, Node, QPath, TyKind,
|
|
||||||
};
|
|
||||||
use rustc_lint::{LateContext, LateLintPass, LintContext};
|
use rustc_lint::{LateContext, LateLintPass, LintContext};
|
||||||
use rustc_middle::lint::in_external_macro;
|
use rustc_middle::lint::in_external_macro;
|
||||||
use rustc_middle::ty::print::with_forced_trimmed_paths;
|
use rustc_middle::ty::print::with_forced_trimmed_paths;
|
||||||
|
|
|
@ -3,10 +3,8 @@ use clippy_utils::source::snippet_opt;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{Expr, ExprKind};
|
use rustc_hir::{Expr, ExprKind};
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
use rustc_middle::{
|
use rustc_middle::mir::Mutability;
|
||||||
mir::Mutability,
|
use rustc_middle::ty::{self, Ty, TypeAndMut};
|
||||||
ty::{self, Ty, TypeAndMut},
|
|
||||||
};
|
|
||||||
|
|
||||||
use super::AS_PTR_CAST_MUT;
|
use super::AS_PTR_CAST_MUT;
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
|
use clippy_utils::diagnostics::span_lint_and_then;
|
||||||
use clippy_utils::msrvs::{self, Msrv};
|
use clippy_utils::msrvs::{self, Msrv};
|
||||||
use clippy_utils::{diagnostics::span_lint_and_then, source};
|
use clippy_utils::source;
|
||||||
use if_chain::if_chain;
|
use if_chain::if_chain;
|
||||||
use rustc_ast::Mutability;
|
use rustc_ast::Mutability;
|
||||||
use rustc_hir::{Expr, ExprKind, Node};
|
use rustc_hir::{Expr, ExprKind, Node};
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
use rustc_middle::ty::{self, layout::LayoutOf, Ty, TypeAndMut};
|
use rustc_middle::ty::layout::LayoutOf;
|
||||||
|
use rustc_middle::ty::{self, Ty, TypeAndMut};
|
||||||
|
|
||||||
use super::CAST_SLICE_DIFFERENT_SIZES;
|
use super::CAST_SLICE_DIFFERENT_SIZES;
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,8 @@ use clippy_utils::source::snippet_with_context;
|
||||||
use clippy_utils::{match_def_path, paths};
|
use clippy_utils::{match_def_path, paths};
|
||||||
use if_chain::if_chain;
|
use if_chain::if_chain;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{def_id::DefId, Expr, ExprKind};
|
use rustc_hir::def_id::DefId;
|
||||||
|
use rustc_hir::{Expr, ExprKind};
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
use rustc_middle::ty::{self, Ty};
|
use rustc_middle::ty::{self, Ty};
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
use clippy_utils::msrvs::POINTER_CAST_CONSTNESS;
|
use clippy_utils::diagnostics::span_lint_and_sugg;
|
||||||
|
use clippy_utils::msrvs::{Msrv, POINTER_CAST_CONSTNESS};
|
||||||
use clippy_utils::sugg::Sugg;
|
use clippy_utils::sugg::Sugg;
|
||||||
use clippy_utils::{diagnostics::span_lint_and_sugg, msrvs::Msrv};
|
|
||||||
use if_chain::if_chain;
|
use if_chain::if_chain;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{Expr, Mutability};
|
use rustc_hir::{Expr, Mutability};
|
||||||
|
|
|
@ -10,8 +10,7 @@ use core::iter;
|
||||||
use core::ops::ControlFlow;
|
use core::ops::ControlFlow;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::def_id::DefIdSet;
|
use rustc_hir::def_id::DefIdSet;
|
||||||
use rustc_hir::intravisit;
|
use rustc_hir::{intravisit, BinOpKind, Block, Expr, ExprKind, HirId, HirIdSet, Stmt, StmtKind};
|
||||||
use rustc_hir::{BinOpKind, Block, Expr, ExprKind, HirId, HirIdSet, Stmt, StmtKind};
|
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
use rustc_middle::query::Key;
|
use rustc_middle::query::Key;
|
||||||
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
||||||
|
|
|
@ -5,7 +5,8 @@ use rustc_ast::tokenstream::{TokenStream, TokenTree};
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_lint::{EarlyContext, EarlyLintPass};
|
use rustc_lint::{EarlyContext, EarlyLintPass};
|
||||||
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
||||||
use rustc_span::{symbol::sym, Span};
|
use rustc_span::symbol::sym;
|
||||||
|
use rustc_span::Span;
|
||||||
|
|
||||||
declare_clippy_lint! {
|
declare_clippy_lint! {
|
||||||
/// ### What it does
|
/// ### What it does
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
use clippy_utils::{diagnostics::span_lint_and_sugg, is_ty_alias, match_def_path, paths};
|
use clippy_utils::diagnostics::span_lint_and_sugg;
|
||||||
use hir::{def::Res, ExprKind};
|
use clippy_utils::{is_ty_alias, match_def_path, paths};
|
||||||
|
use hir::def::Res;
|
||||||
|
use hir::ExprKind;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir as hir;
|
use rustc_hir as hir;
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
use clippy_utils::diagnostics::span_lint_and_sugg;
|
use clippy_utils::diagnostics::span_lint_and_sugg;
|
||||||
use clippy_utils::last_path_segment;
|
|
||||||
use clippy_utils::source::snippet_with_context;
|
use clippy_utils::source::snippet_with_context;
|
||||||
use clippy_utils::{match_def_path, paths};
|
use clippy_utils::{last_path_segment, match_def_path, paths};
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{def, Expr, ExprKind, GenericArg, QPath, TyKind};
|
use rustc_hir::{def, Expr, ExprKind, GenericArg, QPath, TyKind};
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
|
|
|
@ -4,15 +4,11 @@ use clippy_utils::{get_parent_node, numeric_literal};
|
||||||
use if_chain::if_chain;
|
use if_chain::if_chain;
|
||||||
use rustc_ast::ast::{LitFloatType, LitIntType, LitKind};
|
use rustc_ast::ast::{LitFloatType, LitIntType, LitKind};
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{
|
use rustc_hir::intravisit::{walk_expr, walk_stmt, Visitor};
|
||||||
intravisit::{walk_expr, walk_stmt, Visitor},
|
use rustc_hir::{Body, Expr, ExprKind, HirId, ItemKind, Lit, Node, Stmt, StmtKind};
|
||||||
Body, Expr, ExprKind, HirId, ItemKind, Lit, Node, Stmt, StmtKind,
|
|
||||||
};
|
|
||||||
use rustc_lint::{LateContext, LateLintPass, LintContext};
|
use rustc_lint::{LateContext, LateLintPass, LintContext};
|
||||||
use rustc_middle::{
|
use rustc_middle::lint::in_external_macro;
|
||||||
lint::in_external_macro,
|
use rustc_middle::ty::{self, FloatTy, IntTy, PolyFnSig, Ty};
|
||||||
ty::{self, FloatTy, IntTy, PolyFnSig, Ty},
|
|
||||||
};
|
|
||||||
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
||||||
use std::iter;
|
use std::iter;
|
||||||
|
|
||||||
|
|
|
@ -12,12 +12,11 @@ use rustc_ast::util::parser::{PREC_POSTFIX, PREC_PREFIX};
|
||||||
use rustc_data_structures::fx::FxIndexMap;
|
use rustc_data_structures::fx::FxIndexMap;
|
||||||
use rustc_data_structures::graph::iterate::{CycleDetector, TriColorDepthFirstSearch};
|
use rustc_data_structures::graph::iterate::{CycleDetector, TriColorDepthFirstSearch};
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
|
use rustc_hir::def_id::{DefId, LocalDefId};
|
||||||
use rustc_hir::intravisit::{walk_ty, Visitor};
|
use rustc_hir::intravisit::{walk_ty, Visitor};
|
||||||
use rustc_hir::{
|
use rustc_hir::{
|
||||||
self as hir,
|
self as hir, BindingAnnotation, Body, BodyId, BorrowKind, Closure, Expr, ExprKind, FnRetTy, GenericArg, HirId,
|
||||||
def_id::{DefId, LocalDefId},
|
ImplItem, ImplItemKind, Item, ItemKind, Local, MatchSource, Mutability, Node, Pat, PatKind, Path, QPath, TraitItem,
|
||||||
BindingAnnotation, Body, BodyId, BorrowKind, Closure, Expr, ExprKind, FnRetTy, GenericArg, HirId, ImplItem,
|
|
||||||
ImplItemKind, Item, ItemKind, Local, MatchSource, Mutability, Node, Pat, PatKind, Path, QPath, TraitItem,
|
|
||||||
TraitItemKind, TyKind, UnOp,
|
TraitItemKind, TyKind, UnOp,
|
||||||
};
|
};
|
||||||
use rustc_index::bit_set::BitSet;
|
use rustc_index::bit_set::BitSet;
|
||||||
|
@ -30,9 +29,11 @@ use rustc_middle::ty::{
|
||||||
ProjectionPredicate, Ty, TyCtxt, TypeVisitableExt, TypeckResults,
|
ProjectionPredicate, Ty, TyCtxt, TypeVisitableExt, TypeckResults,
|
||||||
};
|
};
|
||||||
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
||||||
use rustc_span::{symbol::sym, Span, Symbol};
|
use rustc_span::symbol::sym;
|
||||||
|
use rustc_span::{Span, Symbol};
|
||||||
use rustc_trait_selection::infer::InferCtxtExt as _;
|
use rustc_trait_selection::infer::InferCtxtExt as _;
|
||||||
use rustc_trait_selection::traits::{query::evaluate_obligation::InferCtxtExt as _, Obligation, ObligationCause};
|
use rustc_trait_selection::traits::query::evaluate_obligation::InferCtxtExt as _;
|
||||||
|
use rustc_trait_selection::traits::{Obligation, ObligationCause};
|
||||||
use std::collections::VecDeque;
|
use std::collections::VecDeque;
|
||||||
|
|
||||||
declare_clippy_lint! {
|
declare_clippy_lint! {
|
||||||
|
|
|
@ -3,10 +3,9 @@ use clippy_utils::msrvs::{self, Msrv};
|
||||||
use clippy_utils::source::indent_of;
|
use clippy_utils::source::indent_of;
|
||||||
use clippy_utils::{is_default_equivalent, peel_blocks};
|
use clippy_utils::{is_default_equivalent, peel_blocks};
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
|
use rustc_hir::def::{CtorKind, CtorOf, DefKind, Res};
|
||||||
use rustc_hir::{
|
use rustc_hir::{
|
||||||
self as hir,
|
self as hir, Body, Expr, ExprKind, GenericArg, Impl, ImplItemKind, Item, ItemKind, Node, PathSegment, QPath, TyKind,
|
||||||
def::{CtorKind, CtorOf, DefKind, Res},
|
|
||||||
Body, Expr, ExprKind, GenericArg, Impl, ImplItemKind, Item, ItemKind, Node, PathSegment, QPath, TyKind,
|
|
||||||
};
|
};
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
use rustc_middle::ty::adjustment::{Adjust, PointerCast};
|
use rustc_middle::ty::adjustment::{Adjust, PointerCast};
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
use clippy_utils::diagnostics::{span_lint_and_help, span_lint_and_note, span_lint_and_sugg, span_lint_and_then};
|
use clippy_utils::diagnostics::{span_lint_and_help, span_lint_and_note, span_lint_and_sugg, span_lint_and_then};
|
||||||
use clippy_utils::paths;
|
|
||||||
use clippy_utils::ty::{implements_trait, implements_trait_with_env, is_copy};
|
use clippy_utils::ty::{implements_trait, implements_trait_with_env, is_copy};
|
||||||
use clippy_utils::{is_lint_allowed, match_def_path};
|
use clippy_utils::{is_lint_allowed, match_def_path, paths};
|
||||||
use if_chain::if_chain;
|
use if_chain::if_chain;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::def_id::DefId;
|
use rustc_hir::def_id::DefId;
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
use clippy_utils::{diagnostics::span_lint, is_test_module_or_function};
|
use clippy_utils::diagnostics::span_lint;
|
||||||
|
use clippy_utils::is_test_module_or_function;
|
||||||
use rustc_data_structures::fx::FxHashSet;
|
use rustc_data_structures::fx::FxHashSet;
|
||||||
use rustc_hir::{Item, Pat, PatKind};
|
use rustc_hir::{Item, Pat, PatKind};
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
|
|
|
@ -31,9 +31,8 @@ use rustc_session::{declare_tool_lint, impl_lint_pass};
|
||||||
use rustc_span::edition::Edition;
|
use rustc_span::edition::Edition;
|
||||||
use rustc_span::source_map::{BytePos, FilePathMapping, SourceMap, Span};
|
use rustc_span::source_map::{BytePos, FilePathMapping, SourceMap, Span};
|
||||||
use rustc_span::{sym, FileName, Pos};
|
use rustc_span::{sym, FileName, Pos};
|
||||||
use std::io;
|
|
||||||
use std::ops::Range;
|
use std::ops::Range;
|
||||||
use std::thread;
|
use std::{io, thread};
|
||||||
use url::Url;
|
use url::Url;
|
||||||
|
|
||||||
declare_clippy_lint! {
|
declare_clippy_lint! {
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
use clippy_utils::diagnostics::span_lint_and_note;
|
use clippy_utils::diagnostics::span_lint_and_note;
|
||||||
use clippy_utils::get_parent_node;
|
|
||||||
use clippy_utils::is_must_use_func_call;
|
|
||||||
use clippy_utils::ty::{is_copy, is_must_use_ty, is_type_lang_item};
|
use clippy_utils::ty::{is_copy, is_must_use_ty, is_type_lang_item};
|
||||||
|
use clippy_utils::{get_parent_node, is_must_use_func_call};
|
||||||
use rustc_hir::{Arm, Expr, ExprKind, LangItem, Node};
|
use rustc_hir::{Arm, Expr, ExprKind, LangItem, Node};
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
use clippy_utils::{diagnostics::span_lint_and_sugg, peel_blocks};
|
use clippy_utils::diagnostics::span_lint_and_sugg;
|
||||||
|
use clippy_utils::peel_blocks;
|
||||||
use if_chain::if_chain;
|
use if_chain::if_chain;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{Body, ExprKind, Impl, ImplItemKind, Item, ItemKind, Node};
|
use rustc_hir::{Body, ExprKind, Impl, ImplItemKind, Item, ItemKind, Node};
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
use clippy_utils::{diagnostics::span_lint_and_then, source::snippet_opt};
|
use clippy_utils::diagnostics::span_lint_and_then;
|
||||||
|
use clippy_utils::source::snippet_opt;
|
||||||
use rustc_ast::ast::{Item, ItemKind, VariantData};
|
use rustc_ast::ast::{Item, ItemKind, VariantData};
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_lexer::TokenKind;
|
use rustc_lexer::TokenKind;
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
use crate::Lint;
|
use crate::Lint;
|
||||||
use clippy_utils::{diagnostics::span_lint_and_then, is_lint_allowed};
|
use clippy_utils::diagnostics::span_lint_and_then;
|
||||||
|
use clippy_utils::is_lint_allowed;
|
||||||
use rustc_hir::{Expr, ExprKind};
|
use rustc_hir::{Expr, ExprKind};
|
||||||
use rustc_lint::{LateContext, LateLintPass, LintContext};
|
use rustc_lint::{LateContext, LateLintPass, LintContext};
|
||||||
use rustc_middle::{lint::in_external_macro, ty::Ty};
|
use rustc_middle::lint::in_external_macro;
|
||||||
|
use rustc_middle::ty::Ty;
|
||||||
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
||||||
use rustc_span::Symbol;
|
use rustc_span::Symbol;
|
||||||
use std::borrow::Cow;
|
use std::borrow::Cow;
|
||||||
|
|
|
@ -1,18 +1,14 @@
|
||||||
use clippy_utils::higher;
|
use clippy_utils::diagnostics::span_lint_and_sugg;
|
||||||
|
use clippy_utils::source::{reindent_multiline, snippet_indent, snippet_with_applicability, snippet_with_context};
|
||||||
use clippy_utils::{
|
use clippy_utils::{
|
||||||
can_move_expr_to_closure_no_visit,
|
can_move_expr_to_closure_no_visit, higher, is_expr_final_block_expr, is_expr_used_or_unified, match_def_path,
|
||||||
diagnostics::span_lint_and_sugg,
|
paths, peel_hir_expr_while, SpanlessEq,
|
||||||
is_expr_final_block_expr, is_expr_used_or_unified, match_def_path, paths, peel_hir_expr_while,
|
|
||||||
source::{reindent_multiline, snippet_indent, snippet_with_applicability, snippet_with_context},
|
|
||||||
SpanlessEq,
|
|
||||||
};
|
};
|
||||||
use core::fmt::{self, Write};
|
use core::fmt::{self, Write};
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{
|
use rustc_hir::hir_id::HirIdSet;
|
||||||
hir_id::HirIdSet,
|
use rustc_hir::intravisit::{walk_expr, Visitor};
|
||||||
intravisit::{walk_expr, Visitor},
|
use rustc_hir::{Block, Expr, ExprKind, Guard, HirId, Let, Pat, Stmt, StmtKind, UnOp};
|
||||||
Block, Expr, ExprKind, Guard, HirId, Let, Pat, Stmt, StmtKind, UnOp,
|
|
||||||
};
|
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
||||||
use rustc_span::{Span, SyntaxContext, DUMMY_SP};
|
use rustc_span::{Span, SyntaxContext, DUMMY_SP};
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
use clippy_utils::diagnostics::span_lint_hir;
|
use clippy_utils::diagnostics::span_lint_hir;
|
||||||
use rustc_hir::intravisit;
|
use rustc_hir::{self, intravisit, AssocItemKind, Body, FnDecl, HirId, HirIdSet, Impl, ItemKind, Node, Pat, PatKind};
|
||||||
use rustc_hir::{self, AssocItemKind, Body, FnDecl, HirId, HirIdSet, Impl, ItemKind, Node, Pat, PatKind};
|
|
||||||
use rustc_hir_typeck::expr_use_visitor::{Delegate, ExprUseVisitor, PlaceBase, PlaceWithHirId};
|
use rustc_hir_typeck::expr_use_visitor::{Delegate, ExprUseVisitor, PlaceBase, PlaceWithHirId};
|
||||||
use rustc_infer::infer::TyCtxtInferExt;
|
use rustc_infer::infer::TyCtxtInferExt;
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
use clippy_utils::{diagnostics::span_lint_and_help, source::snippet};
|
use clippy_utils::diagnostics::span_lint_and_help;
|
||||||
use rustc_ast::{
|
use clippy_utils::source::snippet;
|
||||||
node_id::NodeSet,
|
use rustc_ast::node_id::NodeSet;
|
||||||
visit::{walk_block, walk_item, Visitor},
|
use rustc_ast::visit::{walk_block, walk_item, Visitor};
|
||||||
Block, Crate, Inline, Item, ItemKind, ModKind, NodeId,
|
use rustc_ast::{Block, Crate, Inline, Item, ItemKind, ModKind, NodeId};
|
||||||
};
|
|
||||||
use rustc_lint::{EarlyContext, EarlyLintPass, LintContext};
|
use rustc_lint::{EarlyContext, EarlyLintPass, LintContext};
|
||||||
use rustc_middle::lint::in_external_macro;
|
use rustc_middle::lint::in_external_macro;
|
||||||
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
use clippy_utils::diagnostics::{span_lint_and_help, span_lint_and_then};
|
use clippy_utils::diagnostics::{span_lint_and_help, span_lint_and_then};
|
||||||
use clippy_utils::is_from_proc_macro;
|
use clippy_utils::{is_from_proc_macro, trait_ref_of_method};
|
||||||
use clippy_utils::trait_ref_of_method;
|
|
||||||
use rustc_data_structures::fx::{FxHashMap, FxHashSet};
|
use rustc_data_structures::fx::{FxHashMap, FxHashSet};
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::intravisit::{walk_impl_item, walk_item, walk_param_bound, walk_ty, Visitor};
|
use rustc_hir::intravisit::{walk_impl_item, walk_item, walk_param_bound, walk_ty, Visitor};
|
||||||
|
@ -12,10 +11,8 @@ use rustc_lint::{LateContext, LateLintPass, LintContext};
|
||||||
use rustc_middle::hir::nested_filter;
|
use rustc_middle::hir::nested_filter;
|
||||||
use rustc_middle::lint::in_external_macro;
|
use rustc_middle::lint::in_external_macro;
|
||||||
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
||||||
use rustc_span::{
|
use rustc_span::def_id::{DefId, LocalDefId};
|
||||||
def_id::{DefId, LocalDefId},
|
use rustc_span::Span;
|
||||||
Span,
|
|
||||||
};
|
|
||||||
|
|
||||||
declare_clippy_lint! {
|
declare_clippy_lint! {
|
||||||
/// ### What it does
|
/// ### What it does
|
||||||
|
|
|
@ -1,10 +1,8 @@
|
||||||
use clippy_utils::consts::{
|
use clippy_utils::consts::Constant::{Int, F32, F64};
|
||||||
constant, constant_simple, Constant,
|
use clippy_utils::consts::{constant, constant_simple, Constant};
|
||||||
Constant::{Int, F32, F64},
|
use clippy_utils::diagnostics::span_lint_and_sugg;
|
||||||
};
|
|
||||||
use clippy_utils::{
|
use clippy_utils::{
|
||||||
diagnostics::span_lint_and_sugg, eq_expr_value, get_parent_expr, higher, in_constant, is_no_std_crate,
|
eq_expr_value, get_parent_expr, higher, in_constant, is_no_std_crate, numeric_literal, peel_blocks, sugg,
|
||||||
numeric_literal, peel_blocks, sugg,
|
|
||||||
};
|
};
|
||||||
use if_chain::if_chain;
|
use if_chain::if_chain;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
|
|
|
@ -14,10 +14,8 @@ use rustc_ast::{
|
||||||
FormatArgPosition, FormatArgPositionKind, FormatArgsPiece, FormatArgumentKind, FormatCount, FormatOptions,
|
FormatArgPosition, FormatArgPositionKind, FormatArgsPiece, FormatArgumentKind, FormatCount, FormatOptions,
|
||||||
FormatPlaceholder, FormatTrait,
|
FormatPlaceholder, FormatTrait,
|
||||||
};
|
};
|
||||||
use rustc_errors::{
|
use rustc_errors::Applicability;
|
||||||
Applicability,
|
use rustc_errors::SuggestionStyle::{CompletelyHidden, ShowCode};
|
||||||
SuggestionStyle::{CompletelyHidden, ShowCode},
|
|
||||||
};
|
|
||||||
use rustc_hir::{Expr, ExprKind, LangItem};
|
use rustc_hir::{Expr, ExprKind, LangItem};
|
||||||
use rustc_lint::{LateContext, LateLintPass, LintContext};
|
use rustc_lint::{LateContext, LateLintPass, LintContext};
|
||||||
use rustc_middle::ty::adjustment::{Adjust, Adjustment};
|
use rustc_middle::ty::adjustment::{Adjust, Adjustment};
|
||||||
|
|
|
@ -7,8 +7,8 @@ use rustc_errors::Applicability;
|
||||||
use rustc_hir::{Expr, ExprKind, Impl, ImplItem, ImplItemKind, QPath};
|
use rustc_hir::{Expr, ExprKind, Impl, ImplItem, ImplItemKind, QPath};
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
||||||
use rustc_span::Span;
|
use rustc_span::symbol::kw;
|
||||||
use rustc_span::{sym, symbol::kw, Symbol};
|
use rustc_span::{sym, Span, Symbol};
|
||||||
|
|
||||||
declare_clippy_lint! {
|
declare_clippy_lint! {
|
||||||
/// ### What it does
|
/// ### What it does
|
||||||
|
|
|
@ -10,7 +10,8 @@ use rustc_hir::{
|
||||||
TyKind,
|
TyKind,
|
||||||
};
|
};
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
use rustc_middle::{hir::nested_filter::OnlyBodies, ty};
|
use rustc_middle::hir::nested_filter::OnlyBodies;
|
||||||
|
use rustc_middle::ty;
|
||||||
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
||||||
use rustc_span::symbol::{kw, sym};
|
use rustc_span::symbol::{kw, sym};
|
||||||
use rustc_span::{Span, Symbol};
|
use rustc_span::{Span, Symbol};
|
||||||
|
|
|
@ -4,8 +4,7 @@ use clippy_utils::{match_def_path, path_def_id, paths};
|
||||||
use rustc_hir::def_id::DefId;
|
use rustc_hir::def_id::DefId;
|
||||||
use rustc_hir::{Expr, ExprKind, QPath};
|
use rustc_hir::{Expr, ExprKind, QPath};
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
use rustc_middle::ty::RawPtr;
|
use rustc_middle::ty::{RawPtr, TypeAndMut};
|
||||||
use rustc_middle::ty::TypeAndMut;
|
|
||||||
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
||||||
use rustc_span::sym;
|
use rustc_span::sym;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
use clippy_utils::{diagnostics::span_lint_and_then, is_in_test_function};
|
use clippy_utils::diagnostics::span_lint_and_then;
|
||||||
|
use clippy_utils::is_in_test_function;
|
||||||
|
|
||||||
use rustc_hir::{intravisit::FnKind, Body, HirId};
|
use rustc_hir::intravisit::FnKind;
|
||||||
|
use rustc_hir::{Body, HirId};
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
use rustc_span::Span;
|
use rustc_span::Span;
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
use clippy_utils::diagnostics::span_lint_and_then;
|
use clippy_utils::diagnostics::span_lint_and_then;
|
||||||
use clippy_utils::source::snippet;
|
use clippy_utils::source::snippet;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{intravisit::FnKind, Body, ExprKind, FnDecl, ImplicitSelfKind, Unsafety};
|
use rustc_hir::intravisit::FnKind;
|
||||||
|
use rustc_hir::{Body, ExprKind, FnDecl, ImplicitSelfKind, Unsafety};
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
use rustc_middle::ty;
|
use rustc_middle::ty;
|
||||||
use rustc_span::Span;
|
use rustc_span::Span;
|
||||||
|
|
|
@ -1,14 +1,13 @@
|
||||||
use hir::FnSig;
|
use hir::FnSig;
|
||||||
use rustc_ast::ast::Attribute;
|
use rustc_ast::ast::Attribute;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
|
use rustc_hir::def::Res;
|
||||||
use rustc_hir::def_id::DefIdSet;
|
use rustc_hir::def_id::DefIdSet;
|
||||||
use rustc_hir::{self as hir, def::Res, QPath};
|
use rustc_hir::{self as hir, QPath};
|
||||||
use rustc_infer::infer::TyCtxtInferExt;
|
use rustc_infer::infer::TyCtxtInferExt;
|
||||||
use rustc_lint::{LateContext, LintContext};
|
use rustc_lint::{LateContext, LintContext};
|
||||||
use rustc_middle::{
|
use rustc_middle::lint::in_external_macro;
|
||||||
lint::in_external_macro,
|
use rustc_middle::ty::{self, Ty};
|
||||||
ty::{self, Ty},
|
|
||||||
};
|
|
||||||
use rustc_span::{sym, Span, Symbol};
|
use rustc_span::{sym, Span, Symbol};
|
||||||
|
|
||||||
use clippy_utils::attrs::is_proc_macro;
|
use clippy_utils::attrs::is_proc_macro;
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
use clippy_utils::diagnostics::span_lint_and_then;
|
use clippy_utils::diagnostics::span_lint_and_then;
|
||||||
use clippy_utils::higher;
|
|
||||||
use clippy_utils::ty::is_type_diagnostic_item;
|
use clippy_utils::ty::is_type_diagnostic_item;
|
||||||
use clippy_utils::SpanlessEq;
|
use clippy_utils::{higher, SpanlessEq};
|
||||||
use if_chain::if_chain;
|
use if_chain::if_chain;
|
||||||
use rustc_errors::Diagnostic;
|
use rustc_errors::Diagnostic;
|
||||||
use rustc_hir::intravisit::{self as visit, Visitor};
|
use rustc_hir::intravisit::{self as visit, Visitor};
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
use clippy_utils::{
|
use clippy_utils::diagnostics::span_lint_hir_and_then;
|
||||||
diagnostics::span_lint_hir_and_then,
|
use clippy_utils::source::{snippet_with_applicability, snippet_with_context, walk_span_to_context};
|
||||||
get_async_fn_body, is_async_fn,
|
use clippy_utils::visitors::for_each_expr;
|
||||||
source::{snippet_with_applicability, snippet_with_context, walk_span_to_context},
|
use clippy_utils::{get_async_fn_body, is_async_fn};
|
||||||
visitors::for_each_expr,
|
|
||||||
};
|
|
||||||
use core::ops::ControlFlow;
|
use core::ops::ControlFlow;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::intravisit::FnKind;
|
use rustc_hir::intravisit::FnKind;
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
use clippy_utils::{
|
use clippy_utils::diagnostics::{span_lint_and_sugg, span_lint_and_then};
|
||||||
diagnostics::{span_lint_and_sugg, span_lint_and_then},
|
use clippy_utils::ty::implements_trait;
|
||||||
get_parent_node, is_res_lang_ctor, last_path_segment, path_res,
|
use clippy_utils::{get_parent_node, is_res_lang_ctor, last_path_segment, path_res};
|
||||||
ty::implements_trait,
|
|
||||||
};
|
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{def::Res, Expr, ExprKind, ImplItem, ImplItemKind, ItemKind, LangItem, Node, UnOp};
|
use rustc_hir::def::Res;
|
||||||
|
use rustc_hir::{Expr, ExprKind, ImplItem, ImplItemKind, ItemKind, LangItem, Node, UnOp};
|
||||||
use rustc_hir_analysis::hir_ty_to_ty;
|
use rustc_hir_analysis::hir_ty_to_ty;
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
use rustc_middle::ty::EarlyBinder;
|
use rustc_middle::ty::EarlyBinder;
|
||||||
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
||||||
use rustc_span::{sym, symbol::kw};
|
use rustc_span::sym;
|
||||||
|
use rustc_span::symbol::kw;
|
||||||
|
|
||||||
declare_clippy_lint! {
|
declare_clippy_lint! {
|
||||||
/// ### What it does
|
/// ### What it does
|
||||||
|
|
|
@ -13,7 +13,8 @@ use rustc_lint::{LateContext, LateLintPass};
|
||||||
use rustc_middle::hir::nested_filter;
|
use rustc_middle::hir::nested_filter;
|
||||||
use rustc_middle::ty;
|
use rustc_middle::ty;
|
||||||
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
||||||
use rustc_span::{symbol::Ident, Span};
|
use rustc_span::symbol::Ident;
|
||||||
|
use rustc_span::Span;
|
||||||
|
|
||||||
declare_clippy_lint! {
|
declare_clippy_lint! {
|
||||||
/// ### What it does
|
/// ### What it does
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
use clippy_utils::diagnostics::span_lint_and_note;
|
use clippy_utils::diagnostics::span_lint_and_note;
|
||||||
use clippy_utils::is_lint_allowed;
|
use clippy_utils::is_lint_allowed;
|
||||||
use rustc_data_structures::fx::FxHashMap;
|
use rustc_data_structures::fx::FxHashMap;
|
||||||
use rustc_hir::{def_id::LocalDefId, Item, ItemKind, Node};
|
use rustc_hir::def_id::LocalDefId;
|
||||||
|
use rustc_hir::{Item, ItemKind, Node};
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
||||||
use rustc_span::Span;
|
use rustc_span::Span;
|
||||||
|
|
|
@ -7,7 +7,8 @@ use rustc_errors::Applicability;
|
||||||
use rustc_hir::{BinOpKind, Expr, ExprKind};
|
use rustc_hir::{BinOpKind, Expr, ExprKind};
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
||||||
use rustc_span::{source_map::Spanned, sym};
|
use rustc_span::source_map::Spanned;
|
||||||
|
use rustc_span::sym;
|
||||||
|
|
||||||
declare_clippy_lint! {
|
declare_clippy_lint! {
|
||||||
/// ### What it does
|
/// ### What it does
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
use clippy_utils::{diagnostics::span_lint_and_help, is_from_proc_macro, is_in_cfg_test};
|
use clippy_utils::diagnostics::span_lint_and_help;
|
||||||
|
use clippy_utils::{is_from_proc_macro, is_in_cfg_test};
|
||||||
use rustc_hir::{HirId, ItemId, ItemKind, Mod};
|
use rustc_hir::{HirId, ItemId, ItemKind, Mod};
|
||||||
use rustc_lint::{LateContext, LateLintPass, LintContext};
|
use rustc_lint::{LateContext, LateLintPass, LintContext};
|
||||||
use rustc_middle::lint::in_external_macro;
|
use rustc_middle::lint::in_external_macro;
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
use clippy_utils::{diagnostics::span_lint, get_parent_node, ty::implements_trait};
|
use clippy_utils::diagnostics::span_lint;
|
||||||
use rustc_hir::{def_id::LocalDefId, FnSig, ImplItem, ImplItemKind, Item, ItemKind, Node, TraitItem, TraitItemKind};
|
use clippy_utils::get_parent_node;
|
||||||
|
use clippy_utils::ty::implements_trait;
|
||||||
|
use rustc_hir::def_id::LocalDefId;
|
||||||
|
use rustc_hir::{FnSig, ImplItem, ImplItemKind, Item, ItemKind, Node, TraitItem, TraitItemKind};
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
||||||
use rustc_span::symbol::sym;
|
use rustc_span::symbol::sym;
|
||||||
|
|
|
@ -1,10 +1,8 @@
|
||||||
//! lint when there is a large size difference between variants on an enum
|
//! lint when there is a large size difference between variants on an enum
|
||||||
|
|
||||||
|
use clippy_utils::diagnostics::span_lint_and_then;
|
||||||
use clippy_utils::source::snippet_with_applicability;
|
use clippy_utils::source::snippet_with_applicability;
|
||||||
use clippy_utils::{
|
use clippy_utils::ty::{approx_ty_size, is_copy, AdtVariantInfo};
|
||||||
diagnostics::span_lint_and_then,
|
|
||||||
ty::{approx_ty_size, is_copy, AdtVariantInfo},
|
|
||||||
};
|
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{Item, ItemKind};
|
use rustc_hir::{Item, ItemKind};
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
|
use clippy_utils::diagnostics::span_lint_and_sugg;
|
||||||
use clippy_utils::source::snippet;
|
use clippy_utils::source::snippet;
|
||||||
use clippy_utils::{diagnostics::span_lint_and_sugg, ty::implements_trait};
|
use clippy_utils::ty::implements_trait;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{Expr, ExprKind, LangItem, MatchSource, QPath};
|
use rustc_hir::{Expr, ExprKind, LangItem, MatchSource, QPath};
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
|
|
|
@ -2,8 +2,7 @@ use clippy_utils::diagnostics::span_lint_and_note;
|
||||||
use clippy_utils::is_lint_allowed;
|
use clippy_utils::is_lint_allowed;
|
||||||
use clippy_utils::macros::root_macro_call_first_node;
|
use clippy_utils::macros::root_macro_call_first_node;
|
||||||
use rustc_ast::LitKind;
|
use rustc_ast::LitKind;
|
||||||
use rustc_hir::Expr;
|
use rustc_hir::{Expr, ExprKind};
|
||||||
use rustc_hir::ExprKind;
|
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
||||||
use rustc_span::sym;
|
use rustc_span::sym;
|
||||||
|
|
|
@ -4,11 +4,9 @@ use clippy_utils::diagnostics::span_lint_and_note;
|
||||||
use clippy_utils::fn_has_unsatisfiable_preds;
|
use clippy_utils::fn_has_unsatisfiable_preds;
|
||||||
use rustc_hir::def_id::LocalDefId;
|
use rustc_hir::def_id::LocalDefId;
|
||||||
use rustc_hir::intravisit::FnKind;
|
use rustc_hir::intravisit::FnKind;
|
||||||
use rustc_hir::Body;
|
use rustc_hir::{Body, FnDecl};
|
||||||
use rustc_hir::FnDecl;
|
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
use rustc_session::declare_tool_lint;
|
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
||||||
use rustc_session::impl_lint_pass;
|
|
||||||
use rustc_span::Span;
|
use rustc_span::Span;
|
||||||
|
|
||||||
declare_clippy_lint! {
|
declare_clippy_lint! {
|
||||||
|
|
|
@ -1,22 +1,23 @@
|
||||||
use clippy_utils::diagnostics::{span_lint, span_lint_and_sugg, span_lint_and_then};
|
use clippy_utils::diagnostics::{span_lint, span_lint_and_sugg, span_lint_and_then};
|
||||||
use clippy_utils::source::snippet_with_context;
|
use clippy_utils::source::snippet_with_context;
|
||||||
use clippy_utils::{get_item_name, get_parent_as_impl, is_lint_allowed, peel_ref_operators, sugg::Sugg};
|
use clippy_utils::sugg::Sugg;
|
||||||
|
use clippy_utils::{get_item_name, get_parent_as_impl, is_lint_allowed, peel_ref_operators};
|
||||||
use if_chain::if_chain;
|
use if_chain::if_chain;
|
||||||
use rustc_ast::ast::LitKind;
|
use rustc_ast::ast::LitKind;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::def_id::DefIdSet;
|
use rustc_hir::def::Res;
|
||||||
|
use rustc_hir::def_id::{DefId, DefIdSet};
|
||||||
|
use rustc_hir::lang_items::LangItem;
|
||||||
use rustc_hir::{
|
use rustc_hir::{
|
||||||
def::Res, def_id::DefId, lang_items::LangItem, AssocItemKind, BinOpKind, Expr, ExprKind, FnRetTy, GenericArg,
|
AssocItemKind, BinOpKind, Expr, ExprKind, FnRetTy, GenericArg, GenericBound, ImplItem, ImplItemKind,
|
||||||
GenericBound, ImplItem, ImplItemKind, ImplicitSelfKind, Item, ItemKind, Mutability, Node, PathSegment, PrimTy,
|
ImplicitSelfKind, Item, ItemKind, Mutability, Node, PathSegment, PrimTy, QPath, TraitItemRef, TyKind,
|
||||||
QPath, TraitItemRef, TyKind, TypeBindingKind,
|
TypeBindingKind,
|
||||||
};
|
};
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
use rustc_middle::ty::{self, AssocKind, FnSig, Ty};
|
use rustc_middle::ty::{self, AssocKind, FnSig, Ty};
|
||||||
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
||||||
use rustc_span::{
|
use rustc_span::source_map::{Span, Spanned, Symbol};
|
||||||
source_map::{Span, Spanned, Symbol},
|
use rustc_span::symbol::sym;
|
||||||
symbol::sym,
|
|
||||||
};
|
|
||||||
|
|
||||||
declare_clippy_lint! {
|
declare_clippy_lint! {
|
||||||
/// ### What it does
|
/// ### What it does
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
use clippy_utils::diagnostics::span_lint_and_then;
|
use clippy_utils::diagnostics::span_lint_and_then;
|
||||||
|
use clippy_utils::path_to_local_id;
|
||||||
use clippy_utils::source::snippet;
|
use clippy_utils::source::snippet;
|
||||||
use clippy_utils::{path_to_local_id, visitors::is_local_used};
|
use clippy_utils::visitors::is_local_used;
|
||||||
use if_chain::if_chain;
|
use if_chain::if_chain;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir as hir;
|
use rustc_hir as hir;
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
use clippy_utils::diagnostics::span_lint_and_help;
|
use clippy_utils::diagnostics::span_lint_and_help;
|
||||||
use clippy_utils::is_from_proc_macro;
|
|
||||||
use clippy_utils::ty::{implements_trait, is_must_use_ty, match_type};
|
use clippy_utils::ty::{implements_trait, is_must_use_ty, match_type};
|
||||||
use clippy_utils::{is_must_use_func_call, paths};
|
use clippy_utils::{is_from_proc_macro, is_must_use_func_call, paths};
|
||||||
use rustc_hir::{Local, PatKind};
|
use rustc_hir::{Local, PatKind};
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
use rustc_middle::lint::in_external_macro;
|
use rustc_middle::lint::in_external_macro;
|
||||||
|
|
|
@ -348,11 +348,10 @@ mod zero_div_zero;
|
||||||
mod zero_sized_map_values;
|
mod zero_sized_map_values;
|
||||||
// end lints modules, do not remove this comment, it’s used in `update_lints`
|
// end lints modules, do not remove this comment, it’s used in `update_lints`
|
||||||
|
|
||||||
|
use crate::utils::conf::metadata::get_configuration_metadata;
|
||||||
|
use crate::utils::conf::TryConf;
|
||||||
pub use crate::utils::conf::{lookup_conf_file, Conf};
|
pub use crate::utils::conf::{lookup_conf_file, Conf};
|
||||||
use crate::utils::{
|
use crate::utils::FindAll;
|
||||||
conf::{metadata::get_configuration_metadata, TryConf},
|
|
||||||
FindAll,
|
|
||||||
};
|
|
||||||
|
|
||||||
/// Register all pre expansion lints
|
/// Register all pre expansion lints
|
||||||
///
|
///
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
use clippy_utils::{
|
use clippy_utils::diagnostics::span_lint_and_then;
|
||||||
diagnostics::span_lint_and_then, is_diag_item_method, is_trait_method, match_def_path, path_to_local_id, paths,
|
use clippy_utils::ty::match_type;
|
||||||
ty::match_type,
|
use clippy_utils::{is_diag_item_method, is_trait_method, match_def_path, path_to_local_id, paths};
|
||||||
};
|
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{Body, Closure, Expr, ExprKind};
|
use rustc_hir::{Body, Closure, Expr, ExprKind};
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
use super::utils::make_iterator_snippet;
|
use super::utils::make_iterator_snippet;
|
||||||
use super::MANUAL_FIND;
|
use super::MANUAL_FIND;
|
||||||
use clippy_utils::{
|
use clippy_utils::diagnostics::span_lint_and_then;
|
||||||
diagnostics::span_lint_and_then, higher, is_res_lang_ctor, path_res, peel_blocks_with_stmt,
|
use clippy_utils::source::snippet_with_applicability;
|
||||||
source::snippet_with_applicability, ty::implements_trait,
|
use clippy_utils::ty::implements_trait;
|
||||||
};
|
use clippy_utils::{higher, is_res_lang_ctor, path_res, peel_blocks_with_stmt};
|
||||||
use if_chain::if_chain;
|
use if_chain::if_chain;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{
|
use rustc_hir::def::Res;
|
||||||
def::Res, lang_items::LangItem, BindingAnnotation, Block, Expr, ExprKind, HirId, Node, Pat, PatKind, Stmt, StmtKind,
|
use rustc_hir::lang_items::LangItem;
|
||||||
};
|
use rustc_hir::{BindingAnnotation, Block, Expr, ExprKind, HirId, Node, Pat, PatKind, Stmt, StmtKind};
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
use rustc_span::source_map::Span;
|
use rustc_span::source_map::Span;
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
use super::utils::make_iterator_snippet;
|
use super::utils::make_iterator_snippet;
|
||||||
use super::MANUAL_FLATTEN;
|
use super::MANUAL_FLATTEN;
|
||||||
use clippy_utils::diagnostics::span_lint_and_then;
|
use clippy_utils::diagnostics::span_lint_and_then;
|
||||||
use clippy_utils::higher;
|
|
||||||
use clippy_utils::visitors::is_local_used;
|
use clippy_utils::visitors::is_local_used;
|
||||||
use clippy_utils::{path_to_local_id, peel_blocks_with_stmt};
|
use clippy_utils::{higher, path_to_local_id, peel_blocks_with_stmt};
|
||||||
use if_chain::if_chain;
|
use if_chain::if_chain;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::def::{DefKind, Res};
|
use rustc_hir::def::{DefKind, Res};
|
||||||
|
|
|
@ -1,9 +1,6 @@
|
||||||
use clippy_utils::{
|
use clippy_utils::diagnostics::{multispan_sugg_with_applicability, span_lint_and_then};
|
||||||
diagnostics::{multispan_sugg_with_applicability, span_lint_and_then},
|
use clippy_utils::source::snippet;
|
||||||
match_def_path, paths,
|
use clippy_utils::{match_def_path, paths, SpanlessEq};
|
||||||
source::snippet,
|
|
||||||
SpanlessEq,
|
|
||||||
};
|
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{Expr, ExprKind, Pat, Stmt, StmtKind, UnOp};
|
use rustc_hir::{Expr, ExprKind, Pat, Stmt, StmtKind, UnOp};
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
|
|
|
@ -7,7 +7,8 @@ use rustc_hir::{BindingAnnotation, Expr, ExprKind, HirId, Node, PatKind};
|
||||||
use rustc_hir_typeck::expr_use_visitor::{Delegate, ExprUseVisitor, PlaceBase, PlaceWithHirId};
|
use rustc_hir_typeck::expr_use_visitor::{Delegate, ExprUseVisitor, PlaceBase, PlaceWithHirId};
|
||||||
use rustc_infer::infer::TyCtxtInferExt;
|
use rustc_infer::infer::TyCtxtInferExt;
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
use rustc_middle::{mir::FakeReadCause, ty};
|
use rustc_middle::mir::FakeReadCause;
|
||||||
|
use rustc_middle::ty;
|
||||||
use rustc_span::source_map::Span;
|
use rustc_span::source_map::Span;
|
||||||
|
|
||||||
pub(super) fn check(cx: &LateContext<'_>, arg: &Expr<'_>, body: &Expr<'_>) {
|
pub(super) fn check(cx: &LateContext<'_>, arg: &Expr<'_>, body: &Expr<'_>) {
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
use super::utils::make_iterator_snippet;
|
use super::utils::make_iterator_snippet;
|
||||||
use super::NEVER_LOOP;
|
use super::NEVER_LOOP;
|
||||||
use clippy_utils::consts::constant;
|
use clippy_utils::consts::{constant, Constant};
|
||||||
|
use clippy_utils::diagnostics::span_lint_and_then;
|
||||||
use clippy_utils::higher::ForLoop;
|
use clippy_utils::higher::ForLoop;
|
||||||
use clippy_utils::source::snippet;
|
use clippy_utils::source::snippet;
|
||||||
use clippy_utils::{consts::Constant, diagnostics::span_lint_and_then};
|
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{Block, Destination, Expr, ExprKind, HirId, InlineAsmOperand, Pat, Stmt, StmtKind};
|
use rustc_hir::{Block, Destination, Expr, ExprKind, HirId, InlineAsmOperand, Pat, Stmt, StmtKind};
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
|
|
|
@ -6,8 +6,7 @@ use if_chain::if_chain;
|
||||||
use rustc_hir::def::{DefKind, Res};
|
use rustc_hir::def::{DefKind, Res};
|
||||||
use rustc_hir::def_id::DefIdMap;
|
use rustc_hir::def_id::DefIdMap;
|
||||||
use rustc_hir::intravisit::{walk_expr, Visitor};
|
use rustc_hir::intravisit::{walk_expr, Visitor};
|
||||||
use rustc_hir::HirIdSet;
|
use rustc_hir::{Expr, ExprKind, HirIdSet, QPath};
|
||||||
use rustc_hir::{Expr, ExprKind, QPath};
|
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
|
|
||||||
pub(super) fn check<'tcx>(cx: &LateContext<'tcx>, cond: &'tcx Expr<'_>, expr: &'tcx Expr<'_>) {
|
pub(super) fn check<'tcx>(cx: &LateContext<'tcx>, cond: &'tcx Expr<'_>, expr: &'tcx Expr<'_>) {
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
use super::WHILE_LET_ON_ITERATOR;
|
use super::WHILE_LET_ON_ITERATOR;
|
||||||
use clippy_utils::diagnostics::span_lint_and_sugg;
|
use clippy_utils::diagnostics::span_lint_and_sugg;
|
||||||
use clippy_utils::higher;
|
|
||||||
use clippy_utils::source::snippet_with_applicability;
|
use clippy_utils::source::snippet_with_applicability;
|
||||||
use clippy_utils::{
|
use clippy_utils::visitors::is_res_used;
|
||||||
get_enclosing_loop_or_multi_call_closure, is_refutable, is_res_lang_ctor, is_trait_method, visitors::is_res_used,
|
use clippy_utils::{get_enclosing_loop_or_multi_call_closure, higher, is_refutable, is_res_lang_ctor, is_trait_method};
|
||||||
};
|
|
||||||
use if_chain::if_chain;
|
use if_chain::if_chain;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
|
use rustc_hir::def::Res;
|
||||||
use rustc_hir::intravisit::{walk_expr, Visitor};
|
use rustc_hir::intravisit::{walk_expr, Visitor};
|
||||||
use rustc_hir::{def::Res, Closure, Expr, ExprKind, HirId, LangItem, Local, Mutability, PatKind, UnOp};
|
use rustc_hir::{Closure, Expr, ExprKind, HirId, LangItem, Local, Mutability, PatKind, UnOp};
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
use rustc_middle::hir::nested_filter::OnlyBodies;
|
use rustc_middle::hir::nested_filter::OnlyBodies;
|
||||||
use rustc_middle::ty::adjustment::Adjust;
|
use rustc_middle::ty::adjustment::Adjust;
|
||||||
use rustc_span::{symbol::sym, Symbol};
|
use rustc_span::symbol::sym;
|
||||||
|
use rustc_span::Symbol;
|
||||||
|
|
||||||
pub(super) fn check<'tcx>(cx: &LateContext<'tcx>, expr: &'tcx Expr<'_>) {
|
pub(super) fn check<'tcx>(cx: &LateContext<'tcx>, expr: &'tcx Expr<'_>) {
|
||||||
let (scrutinee_expr, iter_expr_struct, iter_expr, some_pat, loop_expr) = if_chain! {
|
let (scrutinee_expr, iter_expr_struct, iter_expr, some_pat, loop_expr) = if_chain! {
|
||||||
|
|
|
@ -8,7 +8,8 @@ use rustc_errors::Applicability;
|
||||||
use rustc_hir as hir;
|
use rustc_hir as hir;
|
||||||
use rustc_lint::{LateContext, LateLintPass, LintContext};
|
use rustc_lint::{LateContext, LateLintPass, LintContext};
|
||||||
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
||||||
use rustc_span::{edition::Edition, sym, Span};
|
use rustc_span::edition::Edition;
|
||||||
|
use rustc_span::{sym, Span};
|
||||||
|
|
||||||
declare_clippy_lint! {
|
declare_clippy_lint! {
|
||||||
/// ### What it does
|
/// ### What it does
|
||||||
|
|
|
@ -4,21 +4,19 @@ use clippy_utils::msrvs::{self, Msrv};
|
||||||
use clippy_utils::sugg::Sugg;
|
use clippy_utils::sugg::Sugg;
|
||||||
use clippy_utils::ty::implements_trait;
|
use clippy_utils::ty::implements_trait;
|
||||||
use clippy_utils::visitors::is_const_evaluatable;
|
use clippy_utils::visitors::is_const_evaluatable;
|
||||||
use clippy_utils::MaybePath;
|
|
||||||
use clippy_utils::{
|
use clippy_utils::{
|
||||||
eq_expr_value, in_constant, is_diag_trait_item, is_trait_method, path_res, path_to_local_id, peel_blocks,
|
eq_expr_value, in_constant, is_diag_trait_item, is_trait_method, path_res, path_to_local_id, peel_blocks,
|
||||||
peel_blocks_with_stmt,
|
peel_blocks_with_stmt, MaybePath,
|
||||||
};
|
};
|
||||||
use itertools::Itertools;
|
use itertools::Itertools;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::{Applicability, Diagnostic};
|
||||||
use rustc_errors::Diagnostic;
|
use rustc_hir::def::Res;
|
||||||
use rustc_hir::{
|
use rustc_hir::{Arm, BinOpKind, Block, Expr, ExprKind, Guard, HirId, PatKind, PathSegment, PrimTy, QPath, StmtKind};
|
||||||
def::Res, Arm, BinOpKind, Block, Expr, ExprKind, Guard, HirId, PatKind, PathSegment, PrimTy, QPath, StmtKind,
|
|
||||||
};
|
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
use rustc_middle::ty::Ty;
|
use rustc_middle::ty::Ty;
|
||||||
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
||||||
use rustc_span::{symbol::sym, Span};
|
use rustc_span::symbol::sym;
|
||||||
|
use rustc_span::Span;
|
||||||
use std::ops::Deref;
|
use std::ops::Deref;
|
||||||
|
|
||||||
declare_clippy_lint! {
|
declare_clippy_lint! {
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
use clippy_utils::{
|
use clippy_utils::consts::{constant, Constant};
|
||||||
consts::{constant, Constant},
|
use clippy_utils::diagnostics::span_lint_and_then;
|
||||||
diagnostics::span_lint_and_then,
|
use clippy_utils::source::snippet_opt;
|
||||||
is_from_proc_macro, path_to_local,
|
use clippy_utils::{is_from_proc_macro, path_to_local};
|
||||||
source::snippet_opt,
|
|
||||||
};
|
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{BinOpKind, Expr, ExprKind};
|
use rustc_hir::{BinOpKind, Expr, ExprKind};
|
||||||
use rustc_lint::{LateContext, LateLintPass, Lint, LintContext};
|
use rustc_lint::{LateContext, LateLintPass, Lint, LintContext};
|
||||||
|
|
|
@ -1,12 +1,16 @@
|
||||||
|
use clippy_utils::diagnostics::span_lint_and_sugg;
|
||||||
|
use clippy_utils::macros::root_macro_call;
|
||||||
use clippy_utils::msrvs::{self, Msrv};
|
use clippy_utils::msrvs::{self, Msrv};
|
||||||
use clippy_utils::{diagnostics::span_lint_and_sugg, higher, in_constant, macros::root_macro_call, sugg::Sugg};
|
use clippy_utils::sugg::Sugg;
|
||||||
|
use clippy_utils::{higher, in_constant};
|
||||||
use rustc_ast::ast::RangeLimits;
|
use rustc_ast::ast::RangeLimits;
|
||||||
use rustc_ast::LitKind::{Byte, Char};
|
use rustc_ast::LitKind::{Byte, Char};
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{BorrowKind, Expr, ExprKind, PatKind, RangeEnd};
|
use rustc_hir::{BorrowKind, Expr, ExprKind, PatKind, RangeEnd};
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
||||||
use rustc_span::{def_id::DefId, sym, Span};
|
use rustc_span::def_id::DefId;
|
||||||
|
use rustc_span::{sym, Span};
|
||||||
|
|
||||||
declare_clippy_lint! {
|
declare_clippy_lint! {
|
||||||
/// ### What it does
|
/// ### What it does
|
||||||
|
|
|
@ -2,13 +2,8 @@ use clippy_utils::diagnostics::span_lint_and_sugg;
|
||||||
use rustc_ast::LitKind;
|
use rustc_ast::LitKind;
|
||||||
use rustc_data_structures::fx::FxHashSet;
|
use rustc_data_structures::fx::FxHashSet;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::Expr;
|
use rustc_hir::{Expr, ExprKind, PatKind, RangeEnd, UnOp};
|
||||||
use rustc_hir::ExprKind;
|
use rustc_lint::{LateContext, LateLintPass, LintContext};
|
||||||
use rustc_hir::PatKind;
|
|
||||||
use rustc_hir::RangeEnd;
|
|
||||||
use rustc_hir::UnOp;
|
|
||||||
use rustc_lint::LintContext;
|
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
|
||||||
use rustc_middle::lint::in_external_macro;
|
use rustc_middle::lint::in_external_macro;
|
||||||
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
use rustc_session::{declare_lint_pass, declare_tool_lint};
|
||||||
|
|
||||||
|
|
|
@ -8,8 +8,7 @@ use if_chain::if_chain;
|
||||||
use rustc_ast::ast::LitKind;
|
use rustc_ast::ast::LitKind;
|
||||||
use rustc_hir::def::Res;
|
use rustc_hir::def::Res;
|
||||||
use rustc_hir::intravisit::{walk_expr, Visitor};
|
use rustc_hir::intravisit::{walk_expr, Visitor};
|
||||||
use rustc_hir::BinOpKind;
|
use rustc_hir::{BinOpKind, BorrowKind, Expr, ExprKind};
|
||||||
use rustc_hir::{BorrowKind, Expr, ExprKind};
|
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
use rustc_middle::ty;
|
use rustc_middle::ty;
|
||||||
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
use clippy_utils::diagnostics::span_lint_and_sugg;
|
use clippy_utils::diagnostics::span_lint_and_sugg;
|
||||||
use clippy_utils::higher;
|
|
||||||
use clippy_utils::is_res_lang_ctor;
|
|
||||||
use clippy_utils::source::snippet_with_context;
|
use clippy_utils::source::snippet_with_context;
|
||||||
use clippy_utils::ty::is_type_diagnostic_item;
|
use clippy_utils::ty::is_type_diagnostic_item;
|
||||||
|
use clippy_utils::{higher, is_res_lang_ctor};
|
||||||
use if_chain::if_chain;
|
use if_chain::if_chain;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{Expr, ExprKind, LangItem, PatKind};
|
use rustc_hir::{Expr, ExprKind, LangItem, PatKind};
|
||||||
|
|
|
@ -1,14 +1,17 @@
|
||||||
use crate::{map_unit_fn::OPTION_MAP_UNIT_FN, matches::MATCH_AS_REF};
|
use crate::map_unit_fn::OPTION_MAP_UNIT_FN;
|
||||||
|
use crate::matches::MATCH_AS_REF;
|
||||||
use clippy_utils::source::{snippet_with_applicability, snippet_with_context};
|
use clippy_utils::source::{snippet_with_applicability, snippet_with_context};
|
||||||
|
use clippy_utils::sugg::Sugg;
|
||||||
use clippy_utils::ty::{is_copy, is_type_diagnostic_item, peel_mid_ty_refs_is_mutable, type_is_unsafe_function};
|
use clippy_utils::ty::{is_copy, is_type_diagnostic_item, peel_mid_ty_refs_is_mutable, type_is_unsafe_function};
|
||||||
use clippy_utils::{
|
use clippy_utils::{
|
||||||
can_move_expr_to_closure, is_else_clause, is_lint_allowed, is_res_lang_ctor, path_res, path_to_local_id,
|
can_move_expr_to_closure, is_else_clause, is_lint_allowed, is_res_lang_ctor, path_res, path_to_local_id,
|
||||||
peel_blocks, peel_hir_expr_refs, peel_hir_expr_while, sugg::Sugg, CaptureKind,
|
peel_blocks, peel_hir_expr_refs, peel_hir_expr_while, CaptureKind,
|
||||||
};
|
};
|
||||||
use rustc_ast::util::parser::PREC_POSTFIX;
|
use rustc_ast::util::parser::PREC_POSTFIX;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
|
use rustc_hir::def::Res;
|
||||||
use rustc_hir::LangItem::{OptionNone, OptionSome};
|
use rustc_hir::LangItem::{OptionNone, OptionSome};
|
||||||
use rustc_hir::{def::Res, BindingAnnotation, Expr, ExprKind, HirId, Mutability, Pat, PatKind, Path, QPath};
|
use rustc_hir::{BindingAnnotation, Expr, ExprKind, HirId, Mutability, Pat, PatKind, Path, QPath};
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
use rustc_span::{sym, SyntaxContext};
|
use rustc_span::{sym, SyntaxContext};
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
use super::REDUNDANT_PATTERN_MATCHING;
|
use super::REDUNDANT_PATTERN_MATCHING;
|
||||||
use clippy_utils::diagnostics::span_lint_and_sugg;
|
use clippy_utils::diagnostics::span_lint_and_sugg;
|
||||||
use clippy_utils::is_lint_allowed;
|
|
||||||
use clippy_utils::is_wild;
|
|
||||||
use clippy_utils::source::snippet_with_applicability;
|
use clippy_utils::source::snippet_with_applicability;
|
||||||
use clippy_utils::span_contains_comment;
|
use clippy_utils::{is_lint_allowed, is_wild, span_contains_comment};
|
||||||
use rustc_ast::{Attribute, LitKind};
|
use rustc_ast::{Attribute, LitKind};
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{Arm, BorrowKind, Expr, ExprKind, Guard, Pat, PatKind, QPath};
|
use rustc_hir::{Arm, BorrowKind, Expr, ExprKind, Guard, Pat, PatKind, QPath};
|
||||||
|
|
|
@ -2,8 +2,7 @@ use clippy_utils::diagnostics::span_lint_and_then;
|
||||||
use clippy_utils::source::snippet;
|
use clippy_utils::source::snippet;
|
||||||
use clippy_utils::{is_lint_allowed, path_to_local, search_same, SpanlessEq, SpanlessHash};
|
use clippy_utils::{is_lint_allowed, path_to_local, search_same, SpanlessEq, SpanlessHash};
|
||||||
use core::cmp::Ordering;
|
use core::cmp::Ordering;
|
||||||
use core::iter;
|
use core::{iter, slice};
|
||||||
use core::slice;
|
|
||||||
use rustc_arena::DroplessArena;
|
use rustc_arena::DroplessArena;
|
||||||
use rustc_ast::ast::LitKind;
|
use rustc_ast::ast::LitKind;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
|
|
|
@ -12,7 +12,8 @@ use rustc_hir::def::{DefKind, Res};
|
||||||
use rustc_hir::LangItem::{self, OptionNone, OptionSome, PollPending, PollReady, ResultErr, ResultOk};
|
use rustc_hir::LangItem::{self, OptionNone, OptionSome, PollPending, PollReady, ResultErr, ResultOk};
|
||||||
use rustc_hir::{Arm, Expr, ExprKind, Node, Pat, PatKind, QPath, UnOp};
|
use rustc_hir::{Arm, Expr, ExprKind, Node, Pat, PatKind, QPath, UnOp};
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
use rustc_middle::ty::{self, subst::GenericArgKind, Ty};
|
use rustc_middle::ty::subst::GenericArgKind;
|
||||||
|
use rustc_middle::ty::{self, Ty};
|
||||||
use rustc_span::{sym, Symbol};
|
use rustc_span::{sym, Symbol};
|
||||||
|
|
||||||
pub(super) fn check<'tcx>(cx: &LateContext<'tcx>, expr: &'tcx Expr<'_>) {
|
pub(super) fn check<'tcx>(cx: &LateContext<'tcx>, expr: &'tcx Expr<'_>) {
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
use super::{contains_return, BIND_INSTEAD_OF_MAP};
|
use super::{contains_return, BIND_INSTEAD_OF_MAP};
|
||||||
use clippy_utils::diagnostics::{multispan_sugg_with_applicability, span_lint_and_sugg, span_lint_and_then};
|
use clippy_utils::diagnostics::{multispan_sugg_with_applicability, span_lint_and_sugg, span_lint_and_then};
|
||||||
|
use clippy_utils::peel_blocks;
|
||||||
use clippy_utils::source::{snippet, snippet_with_context};
|
use clippy_utils::source::{snippet, snippet_with_context};
|
||||||
use clippy_utils::{peel_blocks, visitors::find_all_ret_expressions};
|
use clippy_utils::visitors::find_all_ret_expressions;
|
||||||
use if_chain::if_chain;
|
use if_chain::if_chain;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir as hir;
|
use rustc_hir as hir;
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
use clippy_utils::diagnostics::span_lint_and_then;
|
use clippy_utils::diagnostics::span_lint_and_then;
|
||||||
use clippy_utils::source::snippet_opt;
|
use clippy_utils::source::{indent_of, reindent_multiline, snippet_opt};
|
||||||
use clippy_utils::source::{indent_of, reindent_multiline};
|
|
||||||
use clippy_utils::ty::is_type_lang_item;
|
use clippy_utils::ty::is_type_lang_item;
|
||||||
use if_chain::if_chain;
|
use if_chain::if_chain;
|
||||||
use rustc_ast::ast::LitKind;
|
use rustc_ast::ast::LitKind;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{Expr, ExprKind, LangItem};
|
use rustc_hir::{Expr, ExprKind, LangItem};
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
use rustc_span::{source_map::Spanned, Span};
|
use rustc_span::source_map::Spanned;
|
||||||
|
use rustc_span::Span;
|
||||||
|
|
||||||
use super::CASE_SENSITIVE_FILE_EXTENSION_COMPARISONS;
|
use super::CASE_SENSITIVE_FILE_EXTENSION_COMPARISONS;
|
||||||
|
|
||||||
|
|
|
@ -4,8 +4,7 @@ use clippy_utils::{method_chain_args, path_def_id};
|
||||||
use if_chain::if_chain;
|
use if_chain::if_chain;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir as hir;
|
use rustc_hir as hir;
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::{LateContext, Lint};
|
||||||
use rustc_lint::Lint;
|
|
||||||
use rustc_middle::ty;
|
use rustc_middle::ty;
|
||||||
|
|
||||||
/// Wrapper fn for `CHARS_NEXT_CMP` and `CHARS_LAST_CMP` lints.
|
/// Wrapper fn for `CHARS_NEXT_CMP` and `CHARS_LAST_CMP` lints.
|
||||||
|
|
|
@ -5,8 +5,7 @@ use if_chain::if_chain;
|
||||||
use rustc_ast::ast;
|
use rustc_ast::ast;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir as hir;
|
use rustc_hir as hir;
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::{LateContext, Lint};
|
||||||
use rustc_lint::Lint;
|
|
||||||
|
|
||||||
/// Wrapper fn for `CHARS_NEXT_CMP` and `CHARS_LAST_CMP` lints with `unwrap()`.
|
/// Wrapper fn for `CHARS_NEXT_CMP` and `CHARS_LAST_CMP` lints with `unwrap()`.
|
||||||
pub(super) fn check(
|
pub(super) fn check(
|
||||||
|
|
|
@ -5,7 +5,9 @@ use clippy_utils::ty::is_copy;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{BindingAnnotation, ByRef, Expr, ExprKind, MatchSource, Node, PatKind, QPath};
|
use rustc_hir::{BindingAnnotation, ByRef, Expr, ExprKind, MatchSource, Node, PatKind, QPath};
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
use rustc_middle::ty::{self, adjustment::Adjust, print::with_forced_trimmed_paths};
|
use rustc_middle::ty::adjustment::Adjust;
|
||||||
|
use rustc_middle::ty::print::with_forced_trimmed_paths;
|
||||||
|
use rustc_middle::ty::{self};
|
||||||
use rustc_span::symbol::{sym, Symbol};
|
use rustc_span::symbol::{sym, Symbol};
|
||||||
|
|
||||||
use super::CLONE_ON_COPY;
|
use super::CLONE_ON_COPY;
|
||||||
|
|
|
@ -8,8 +8,7 @@ use rustc_hir as hir;
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
use std::collections::VecDeque;
|
use std::collections::VecDeque;
|
||||||
|
|
||||||
use super::method_call;
|
use super::{method_call, COLLAPSIBLE_STR_REPLACE};
|
||||||
use super::COLLAPSIBLE_STR_REPLACE;
|
|
||||||
|
|
||||||
pub(super) fn check<'tcx>(
|
pub(super) fn check<'tcx>(
|
||||||
cx: &LateContext<'tcx>,
|
cx: &LateContext<'tcx>,
|
||||||
|
|
|
@ -4,17 +4,12 @@ use clippy_utils::is_range_full;
|
||||||
use clippy_utils::source::snippet;
|
use clippy_utils::source::snippet;
|
||||||
use clippy_utils::ty::is_type_lang_item;
|
use clippy_utils::ty::is_type_lang_item;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::Expr;
|
use rustc_hir::{Expr, ExprKind, LangItem, Path, QPath};
|
||||||
use rustc_hir::ExprKind;
|
|
||||||
use rustc_hir::LangItem;
|
|
||||||
use rustc_hir::Path;
|
|
||||||
use rustc_hir::QPath;
|
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
use rustc_middle::query::Key;
|
use rustc_middle::query::Key;
|
||||||
use rustc_middle::ty;
|
use rustc_middle::ty;
|
||||||
use rustc_middle::ty::Ty;
|
use rustc_middle::ty::Ty;
|
||||||
use rustc_span::sym;
|
use rustc_span::{sym, Symbol};
|
||||||
use rustc_span::Symbol;
|
|
||||||
|
|
||||||
/// Checks if both types match the given diagnostic item, e.g.:
|
/// Checks if both types match the given diagnostic item, e.g.:
|
||||||
///
|
///
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
use super::ERR_EXPECT;
|
use super::ERR_EXPECT;
|
||||||
use clippy_utils::diagnostics::span_lint_and_sugg;
|
use clippy_utils::diagnostics::span_lint_and_sugg;
|
||||||
use clippy_utils::msrvs::{self, Msrv};
|
use clippy_utils::msrvs::{self, Msrv};
|
||||||
use clippy_utils::ty::has_debug_impl;
|
use clippy_utils::ty::{has_debug_impl, is_type_diagnostic_item};
|
||||||
use clippy_utils::ty::is_type_diagnostic_item;
|
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
use rustc_middle::ty;
|
use rustc_middle::ty;
|
||||||
|
|
|
@ -13,9 +13,7 @@ use rustc_span::source_map::Span;
|
||||||
use rustc_span::symbol::{sym, Symbol};
|
use rustc_span::symbol::{sym, Symbol};
|
||||||
use std::borrow::Cow;
|
use std::borrow::Cow;
|
||||||
|
|
||||||
use super::MANUAL_FILTER_MAP;
|
use super::{MANUAL_FILTER_MAP, MANUAL_FIND_MAP, OPTION_FILTER_MAP};
|
||||||
use super::MANUAL_FIND_MAP;
|
|
||||||
use super::OPTION_FILTER_MAP;
|
|
||||||
|
|
||||||
fn is_method(cx: &LateContext<'_>, expr: &hir::Expr<'_>, method_name: Symbol) -> bool {
|
fn is_method(cx: &LateContext<'_>, expr: &hir::Expr<'_>, method_name: Symbol) -> bool {
|
||||||
match &expr.kind {
|
match &expr.kind {
|
||||||
|
|
|
@ -3,7 +3,8 @@ use clippy_utils::{is_expr_identity_function, is_trait_method};
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir as hir;
|
use rustc_hir as hir;
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
use rustc_span::{source_map::Span, sym};
|
use rustc_span::source_map::Span;
|
||||||
|
use rustc_span::sym;
|
||||||
|
|
||||||
use super::FILTER_MAP_IDENTITY;
|
use super::FILTER_MAP_IDENTITY;
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,8 @@ use clippy_utils::{is_expr_identity_function, is_trait_method};
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir as hir;
|
use rustc_hir as hir;
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
use rustc_span::{source_map::Span, sym};
|
use rustc_span::source_map::Span;
|
||||||
|
use rustc_span::sym;
|
||||||
|
|
||||||
use super::FLAT_MAP_IDENTITY;
|
use super::FLAT_MAP_IDENTITY;
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,8 @@ use rustc_errors::Applicability;
|
||||||
use rustc_hir as hir;
|
use rustc_hir as hir;
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
use rustc_middle::ty;
|
use rustc_middle::ty;
|
||||||
use rustc_span::{source_map::Span, sym};
|
use rustc_span::source_map::Span;
|
||||||
|
use rustc_span::sym;
|
||||||
|
|
||||||
use super::FLAT_MAP_OPTION;
|
use super::FLAT_MAP_OPTION;
|
||||||
use clippy_utils::ty::is_type_diagnostic_item;
|
use clippy_utils::ty::is_type_diagnostic_item;
|
||||||
|
|
|
@ -2,7 +2,8 @@ use clippy_utils::diagnostics::span_lint_and_help;
|
||||||
use clippy_utils::is_trait_method;
|
use clippy_utils::is_trait_method;
|
||||||
use rustc_hir as hir;
|
use rustc_hir as hir;
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
use rustc_span::{source_map::Span, sym};
|
use rustc_span::source_map::Span;
|
||||||
|
use rustc_span::sym;
|
||||||
|
|
||||||
use super::INSPECT_FOR_EACH;
|
use super::INSPECT_FOR_EACH;
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
//! Lint for `c.is_digit(10)`
|
//! Lint for `c.is_digit(10)`
|
||||||
|
|
||||||
use super::IS_DIGIT_ASCII_RADIX;
|
use super::IS_DIGIT_ASCII_RADIX;
|
||||||
|
use clippy_utils::consts::{constant_full_int, FullInt};
|
||||||
|
use clippy_utils::diagnostics::span_lint_and_sugg;
|
||||||
use clippy_utils::msrvs::{self, Msrv};
|
use clippy_utils::msrvs::{self, Msrv};
|
||||||
use clippy_utils::{
|
use clippy_utils::source::snippet_with_applicability;
|
||||||
consts::constant_full_int, consts::FullInt, diagnostics::span_lint_and_sugg, source::snippet_with_applicability,
|
|
||||||
};
|
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::Expr;
|
use rustc_hir::Expr;
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
|
|
|
@ -9,8 +9,7 @@ use clippy_utils::visitors::is_local_used;
|
||||||
use rustc_hir::{BindingAnnotation, Body, BorrowKind, ByRef, Expr, ExprKind, Mutability, Pat, PatKind};
|
use rustc_hir::{BindingAnnotation, Body, BorrowKind, ByRef, Expr, ExprKind, Mutability, Pat, PatKind};
|
||||||
use rustc_lint::{LateContext, LintContext};
|
use rustc_lint::{LateContext, LintContext};
|
||||||
use rustc_middle::ty;
|
use rustc_middle::ty;
|
||||||
use rustc_span::sym;
|
use rustc_span::{sym, Span};
|
||||||
use rustc_span::Span;
|
|
||||||
|
|
||||||
/// lint use of:
|
/// lint use of:
|
||||||
/// - `hashmap.iter().map(|(_, v)| v)`
|
/// - `hashmap.iter().map(|(_, v)| v)`
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
use clippy_utils::diagnostics::span_lint_and_then;
|
use clippy_utils::diagnostics::span_lint_and_then;
|
||||||
use clippy_utils::is_trait_method;
|
|
||||||
use clippy_utils::path_to_local;
|
|
||||||
use clippy_utils::source::snippet;
|
use clippy_utils::source::snippet;
|
||||||
|
use clippy_utils::{is_trait_method, path_to_local};
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir as hir;
|
use rustc_hir as hir;
|
||||||
use rustc_hir::{BindingAnnotation, Node, PatKind};
|
use rustc_hir::{BindingAnnotation, Node, PatKind};
|
||||||
|
|
|
@ -24,10 +24,8 @@ pub fn check(
|
||||||
let Some(mm) = is_min_or_max(cx, unwrap_arg) else { return };
|
let Some(mm) = is_min_or_max(cx, unwrap_arg) else { return };
|
||||||
|
|
||||||
if ty.is_signed() {
|
if ty.is_signed() {
|
||||||
use self::{
|
use self::MinMax::{Max, Min};
|
||||||
MinMax::{Max, Min},
|
use self::Sign::{Neg, Pos};
|
||||||
Sign::{Neg, Pos},
|
|
||||||
};
|
|
||||||
|
|
||||||
let Some(sign) = lit_sign(arith_rhs) else {
|
let Some(sign) = lit_sign(arith_rhs) else {
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -1,15 +1,11 @@
|
||||||
use clippy_utils::{
|
use clippy_utils::diagnostics::span_lint_and_sugg;
|
||||||
diagnostics::span_lint_and_sugg,
|
use clippy_utils::is_from_proc_macro;
|
||||||
is_from_proc_macro,
|
use clippy_utils::msrvs::{Msrv, ITERATOR_TRY_FOLD};
|
||||||
msrvs::{Msrv, ITERATOR_TRY_FOLD},
|
use clippy_utils::source::snippet_opt;
|
||||||
source::snippet_opt,
|
use clippy_utils::ty::implements_trait;
|
||||||
ty::implements_trait,
|
|
||||||
};
|
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{
|
use rustc_hir::def::{DefKind, Res};
|
||||||
def::{DefKind, Res},
|
use rustc_hir::{Expr, ExprKind};
|
||||||
Expr, ExprKind,
|
|
||||||
};
|
|
||||||
use rustc_lint::{LateContext, LintContext};
|
use rustc_lint::{LateContext, LintContext};
|
||||||
use rustc_middle::lint::in_external_macro;
|
use rustc_middle::lint::in_external_macro;
|
||||||
use rustc_span::Span;
|
use rustc_span::Span;
|
||||||
|
|
|
@ -6,7 +6,8 @@ use rustc_errors::Applicability;
|
||||||
use rustc_hir::Expr;
|
use rustc_hir::Expr;
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
use rustc_middle::ty;
|
use rustc_middle::ty;
|
||||||
use rustc_span::{symbol::sym, Span};
|
use rustc_span::symbol::sym;
|
||||||
|
use rustc_span::Span;
|
||||||
|
|
||||||
use super::MAP_FLATTEN;
|
use super::MAP_FLATTEN;
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,8 @@ use clippy_utils::{is_expr_identity_function, is_trait_method};
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir as hir;
|
use rustc_hir as hir;
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
use rustc_span::{source_map::Span, sym};
|
use rustc_span::source_map::Span;
|
||||||
|
use rustc_span::sym;
|
||||||
|
|
||||||
use super::MAP_IDENTITY;
|
use super::MAP_IDENTITY;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
use clippy_utils::diagnostics::span_lint_and_sugg;
|
use clippy_utils::diagnostics::span_lint_and_sugg;
|
||||||
use clippy_utils::{expr_custom_deref_adjustment, ty::is_type_diagnostic_item};
|
use clippy_utils::expr_custom_deref_adjustment;
|
||||||
|
use clippy_utils::ty::is_type_diagnostic_item;
|
||||||
use if_chain::if_chain;
|
use if_chain::if_chain;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{Expr, Mutability};
|
use rustc_hir::{Expr, Mutability};
|
||||||
|
|
|
@ -4,10 +4,9 @@ use clippy_utils::source::{snippet, snippet_with_applicability};
|
||||||
use clippy_utils::sugg::Sugg;
|
use clippy_utils::sugg::Sugg;
|
||||||
use clippy_utils::ty::{is_type_diagnostic_item, make_normalized_projection, make_projection};
|
use clippy_utils::ty::{is_type_diagnostic_item, make_normalized_projection, make_projection};
|
||||||
use clippy_utils::{
|
use clippy_utils::{
|
||||||
can_move_expr_to_closure, get_enclosing_block, get_parent_node, is_trait_method, path_to_local, path_to_local_id,
|
can_move_expr_to_closure, fn_def_id, get_enclosing_block, get_parent_node, higher, is_trait_method, path_to_local,
|
||||||
CaptureKind,
|
path_to_local_id, CaptureKind,
|
||||||
};
|
};
|
||||||
use clippy_utils::{fn_def_id, higher};
|
|
||||||
use rustc_data_structures::fx::FxHashMap;
|
use rustc_data_structures::fx::FxHashMap;
|
||||||
use rustc_errors::{Applicability, MultiSpan};
|
use rustc_errors::{Applicability, MultiSpan};
|
||||||
use rustc_hir::intravisit::{walk_block, walk_expr, Visitor};
|
use rustc_hir::intravisit::{walk_block, walk_expr, Visitor};
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
use super::OBFUSCATED_IF_ELSE;
|
use super::OBFUSCATED_IF_ELSE;
|
||||||
use clippy_utils::{diagnostics::span_lint_and_sugg, source::snippet_with_applicability};
|
use clippy_utils::diagnostics::span_lint_and_sugg;
|
||||||
|
use clippy_utils::source::snippet_with_applicability;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir as hir;
|
use rustc_hir as hir;
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
|
|
|
@ -8,8 +8,7 @@ use rustc_hir::LangItem::{OptionNone, OptionSome};
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
use rustc_span::symbol::sym;
|
use rustc_span::symbol::sym;
|
||||||
|
|
||||||
use super::OPTION_MAP_OR_NONE;
|
use super::{OPTION_MAP_OR_NONE, RESULT_MAP_OR_INTO_OPTION};
|
||||||
use super::RESULT_MAP_OR_INTO_OPTION;
|
|
||||||
|
|
||||||
// The expression inside a closure may or may not have surrounding braces
|
// The expression inside a closure may or may not have surrounding braces
|
||||||
// which causes problems when generating a suggestion.
|
// which causes problems when generating a suggestion.
|
||||||
|
|
|
@ -1,17 +1,12 @@
|
||||||
use clippy_utils::diagnostics::span_lint_and_then;
|
use clippy_utils::diagnostics::span_lint_and_then;
|
||||||
use clippy_utils::msrvs::{self, Msrv};
|
use clippy_utils::msrvs::{self, Msrv};
|
||||||
use clippy_utils::source::snippet_with_applicability;
|
use clippy_utils::source::snippet_with_applicability;
|
||||||
use clippy_utils::ty::is_copy;
|
use clippy_utils::ty::{is_copy, is_type_diagnostic_item};
|
||||||
use clippy_utils::ty::is_type_diagnostic_item;
|
|
||||||
use rustc_data_structures::fx::FxHashSet;
|
use rustc_data_structures::fx::FxHashSet;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::def::Res;
|
use rustc_hir::def::Res;
|
||||||
use rustc_hir::intravisit::{walk_path, Visitor};
|
use rustc_hir::intravisit::{walk_path, Visitor};
|
||||||
use rustc_hir::ExprKind;
|
use rustc_hir::{self, ExprKind, HirId, Node, PatKind, Path, QPath};
|
||||||
use rustc_hir::Node;
|
|
||||||
use rustc_hir::PatKind;
|
|
||||||
use rustc_hir::QPath;
|
|
||||||
use rustc_hir::{self, HirId, Path};
|
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
use rustc_middle::hir::nested_filter;
|
use rustc_middle::hir::nested_filter;
|
||||||
use rustc_span::source_map::Span;
|
use rustc_span::source_map::Span;
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
|
use clippy_utils::diagnostics::span_lint_and_sugg;
|
||||||
use clippy_utils::source::snippet_with_applicability;
|
use clippy_utils::source::snippet_with_applicability;
|
||||||
use clippy_utils::ty::is_type_diagnostic_item;
|
use clippy_utils::ty::is_type_diagnostic_item;
|
||||||
use clippy_utils::{diagnostics::span_lint_and_sugg, is_res_lang_ctor, path_res};
|
use clippy_utils::{is_res_lang_ctor, path_res};
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{lang_items::LangItem, Expr, ExprKind};
|
use rustc_hir::lang_items::LangItem;
|
||||||
|
use rustc_hir::{Expr, ExprKind};
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
use rustc_span::{sym, Span};
|
use rustc_span::{sym, Span};
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
use clippy_utils::diagnostics::span_lint;
|
use clippy_utils::diagnostics::span_lint;
|
||||||
use clippy_utils::source::snippet;
|
use clippy_utils::source::snippet;
|
||||||
use clippy_utils::{higher, SpanlessEq};
|
use clippy_utils::{higher, is_integer_const, is_trait_method, SpanlessEq};
|
||||||
use clippy_utils::{is_integer_const, is_trait_method};
|
|
||||||
use if_chain::if_chain;
|
use if_chain::if_chain;
|
||||||
use rustc_hir::{Expr, ExprKind, QPath};
|
use rustc_hir::{Expr, ExprKind, QPath};
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
use std::ops::ControlFlow;
|
use std::ops::ControlFlow;
|
||||||
|
|
||||||
use clippy_utils::{
|
use clippy_utils::diagnostics::span_lint_and_then;
|
||||||
diagnostics::span_lint_and_then, get_parent_expr, match_def_path, source::snippet, ty::is_type_diagnostic_item,
|
use clippy_utils::source::snippet;
|
||||||
visitors::for_each_local_use_after_expr,
|
use clippy_utils::ty::is_type_diagnostic_item;
|
||||||
};
|
use clippy_utils::visitors::for_each_local_use_after_expr;
|
||||||
|
use clippy_utils::{get_parent_expr, match_def_path};
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::Expr;
|
use rustc_hir::def::Res;
|
||||||
use rustc_hir::QPath;
|
use rustc_hir::{Expr, ExprKind, QPath};
|
||||||
use rustc_hir::{def::Res, ExprKind};
|
|
||||||
use rustc_lint::LateContext;
|
use rustc_lint::LateContext;
|
||||||
use rustc_middle::ty::{self, Ty};
|
use rustc_middle::ty::{self, Ty};
|
||||||
use rustc_span::sym;
|
use rustc_span::sym;
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue