Skip to content

Commit d256371

Browse files
committed
submodules: update clippy from 70b93aa to e170c84
Changes: ```` rustup rust-lang/rust#70536 Rustup to rust-lang/rust#70449 readme: move "how to run single lint" instructions to "Allowing/denying lints" section. git attribute macros not allowed in submodules Deprecate REPLACE_CONSTS lint Bump itertools ```` Fixes #70554
1 parent 859b59e commit d256371

File tree

106 files changed

+180
-640
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

106 files changed

+180
-640
lines changed

.gitattributes

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
[attr]rust text eol=lf whitespace=tab-in-indent,trailing-space,tabwidth=4
2-
31
* text=auto eol=lf
4-
*.rs rust
2+
*.rs text eol=lf whitespace=tab-in-indent,trailing-space,tabwidth=4
53
*.fixed linguist-language=Rust

README.md

+3-9
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
A collection of lints to catch common mistakes and improve your [Rust](https://github.com/rust-lang/rust) code.
77

8-
[There are 362 lints included in this crate!](https://rust-lang.github.io/rust-clippy/master/index.html)
8+
[There are 361 lints included in this crate!](https://rust-lang.github.io/rust-clippy/master/index.html)
99

1010
We have a bunch of lint categories to allow you to choose how much Clippy is supposed to ~~annoy~~ help you:
1111

@@ -90,14 +90,6 @@ Note that this is still experimental and only supported on the nightly channel:
9090
cargo fix -Z unstable-options --clippy
9191
```
9292

93-
#### Running only a single lint
94-
95-
If you care only about the warnings of a single lint and want to ignore everything else, you
96-
can first deny all the clippy lints and then explicitly enable the lint(s) you care about:
97-
````
98-
cargo clippy -- -Aclippy::all -Wclippy::useless_format
99-
````
100-
10193
### Running Clippy from the command line without installing it
10294

10395
To have cargo compile your crate with Clippy without Clippy installation
@@ -183,6 +175,8 @@ If you do not want to include your lint levels in your code, you can globally en
183175
flags to Clippy during the run: `cargo clippy -- -A clippy::lint_name` will run Clippy with `lint_name` disabled and
184176
`cargo clippy -- -W clippy::lint_name` will run it with that enabled. This also works with lint groups. For example you
185177
can run Clippy with warnings for all lints enabled: `cargo clippy -- -W clippy::pedantic`
178+
If you care only about a single lint, you can allow all others and then explicitly reenable
179+
the lint(s) you are interested in: `cargo clippy -- -Aclippy::all -Wclippy::useless_format -Wclippy::...`
186180

187181
## Contributing
188182

clippy_dev/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ edition = "2018"
77
[dependencies]
88
bytecount = "0.6"
99
clap = "2.33"
10-
itertools = "0.8"
10+
itertools = "0.9"
1111
regex = "1"
1212
lazy_static = "1.0"
1313
shell-escape = "0.1"

clippy_lints/src/as_conversions.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
use rustc::lint::in_external_macro;
21
use rustc_ast::ast::{Expr, ExprKind};
32
use rustc_lint::{EarlyContext, EarlyLintPass, LintContext};
3+
use rustc_middle::lint::in_external_macro;
44
use rustc_session::{declare_lint_pass, declare_tool_lint};
55

66
use crate::utils::span_lint_and_help;

clippy_lints/src/assign_ops.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ use crate::utils::{
33
};
44
use crate::utils::{higher, sugg};
55
use if_chain::if_chain;
6-
use rustc::hir::map::Map;
76
use rustc_errors::Applicability;
87
use rustc_hir as hir;
98
use rustc_hir::intravisit::{walk_expr, NestedVisitorMap, Visitor};
109
use rustc_lint::{LateContext, LateLintPass};
10+
use rustc_middle::hir::map::Map;
1111
use rustc_session::{declare_lint_pass, declare_tool_lint};
1212

1313
declare_clippy_lint! {

clippy_lints/src/atomic_ordering.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
use crate::utils::{match_def_path, span_lint_and_help};
22
use if_chain::if_chain;
3-
use rustc::ty;
43
use rustc_hir::def_id::DefId;
54
use rustc_hir::{Expr, ExprKind};
65
use rustc_lint::{LateContext, LateLintPass};
6+
use rustc_middle::ty;
77
use rustc_session::{declare_lint_pass, declare_tool_lint};
88

99
declare_clippy_lint! {

clippy_lints/src/attrs.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@ use crate::utils::{
66
span_lint_and_then, without_block_comments,
77
};
88
use if_chain::if_chain;
9-
use rustc::lint::in_external_macro;
10-
use rustc::ty;
119
use rustc_ast::ast::{AttrKind, AttrStyle, Attribute, Lit, LitKind, MetaItemKind, NestedMetaItem};
1210
use rustc_ast::util::lev_distance::find_best_match_for_name;
1311
use rustc_errors::Applicability;
1412
use rustc_hir::{
1513
Block, Expr, ExprKind, ImplItem, ImplItemKind, Item, ItemKind, StmtKind, TraitFn, TraitItem, TraitItemKind,
1614
};
1715
use rustc_lint::{CheckLintNameResult, EarlyContext, EarlyLintPass, LateContext, LateLintPass, LintContext};
16+
use rustc_middle::lint::in_external_macro;
17+
use rustc_middle::ty;
1818
use rustc_session::{declare_lint_pass, declare_tool_lint};
1919
use rustc_span::source_map::Span;
2020
use rustc_span::symbol::Symbol;

clippy_lints/src/block_in_if_condition.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
use crate::utils::{differing_macro_contexts, higher, snippet_block_with_applicability, span_lint, span_lint_and_sugg};
2-
use rustc::hir::map::Map;
3-
use rustc::lint::in_external_macro;
42
use rustc_errors::Applicability;
53
use rustc_hir::intravisit::{walk_expr, NestedVisitorMap, Visitor};
64
use rustc_hir::{BlockCheckMode, Expr, ExprKind};
75
use rustc_lint::{LateContext, LateLintPass, LintContext};
6+
use rustc_middle::hir::map::Map;
7+
use rustc_middle::lint::in_external_macro;
88
use rustc_session::{declare_lint_pass, declare_tool_lint};
99

1010
declare_clippy_lint! {

clippy_lints/src/booleans.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ use crate::utils::{
33
span_lint_and_then, SpanlessEq,
44
};
55
use if_chain::if_chain;
6-
use rustc::hir::map::Map;
76
use rustc_ast::ast::LitKind;
87
use rustc_errors::Applicability;
98
use rustc_hir::intravisit::{walk_expr, FnKind, NestedVisitorMap, Visitor};
109
use rustc_hir::{BinOpKind, Body, Expr, ExprKind, FnDecl, HirId, UnOp};
1110
use rustc_lint::{LateContext, LateLintPass};
11+
use rustc_middle::hir::map::Map;
1212
use rustc_session::{declare_lint_pass, declare_tool_lint};
1313
use rustc_span::source_map::Span;
1414

clippy_lints/src/bytecount.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ use crate::utils::{
33
span_lint_and_sugg, walk_ptrs_ty,
44
};
55
use if_chain::if_chain;
6-
use rustc::ty;
76
use rustc_ast::ast::{Name, UintTy};
87
use rustc_errors::Applicability;
98
use rustc_hir::{BinOpKind, BorrowKind, Expr, ExprKind, UnOp};
109
use rustc_lint::{LateContext, LateLintPass};
10+
use rustc_middle::ty;
1111
use rustc_session::{declare_lint_pass, declare_tool_lint};
1212

1313
declare_clippy_lint! {

clippy_lints/src/checked_conversions.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
//! lint on manually implemented checked conversions that could be transformed into `try_from`
22
33
use if_chain::if_chain;
4-
use rustc::lint::in_external_macro;
54
use rustc_ast::ast::LitKind;
65
use rustc_errors::Applicability;
76
use rustc_hir::{BinOp, BinOpKind, Expr, ExprKind, QPath, TyKind};
87
use rustc_lint::{LateContext, LateLintPass, LintContext};
8+
use rustc_middle::lint::in_external_macro;
99
use rustc_session::{declare_lint_pass, declare_tool_lint};
1010

1111
use crate::utils::{snippet_with_applicability, span_lint_and_sugg, SpanlessEq};

clippy_lints/src/cognitive_complexity.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
//! calculate cognitive complexity and warn about overly complex functions
22
3-
use rustc::hir::map::Map;
43
use rustc_ast::ast::Attribute;
54
use rustc_hir::intravisit::{walk_expr, FnKind, NestedVisitorMap, Visitor};
65
use rustc_hir::{Body, Expr, ExprKind, FnDecl, HirId};
76
use rustc_lint::{LateContext, LateLintPass, LintContext};
7+
use rustc_middle::hir::map::Map;
88
use rustc_session::{declare_tool_lint, impl_lint_pass};
99
use rustc_span::source_map::Span;
1010
use rustc_span::BytePos;

clippy_lints/src/consts.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22

33
use crate::utils::{clip, higher, sext, unsext};
44
use if_chain::if_chain;
5-
use rustc::ty::subst::{Subst, SubstsRef};
6-
use rustc::ty::{self, Ty, TyCtxt};
7-
use rustc::{bug, span_bug};
85
use rustc_ast::ast::{FloatTy, LitFloatType, LitKind};
96
use rustc_data_structures::sync::Lrc;
107
use rustc_hir::def::{DefKind, Res};
118
use rustc_hir::{BinOp, BinOpKind, Block, Expr, ExprKind, HirId, QPath, UnOp};
129
use rustc_lint::LateContext;
10+
use rustc_middle::ty::subst::{Subst, SubstsRef};
11+
use rustc_middle::ty::{self, Ty, TyCtxt};
12+
use rustc_middle::{bug, span_bug};
1313
use rustc_span::symbol::Symbol;
1414
use std::cmp::Ordering::{self, Equal};
1515
use std::convert::TryInto;
@@ -333,7 +333,7 @@ impl<'c, 'cc> ConstEvalLateContext<'c, 'cc> {
333333
.tcx
334334
.const_eval_resolve(self.param_env, def_id, substs, None, None)
335335
.ok()
336-
.map(|val| rustc::ty::Const::from_value(self.lcx.tcx, val, ty))?;
336+
.map(|val| rustc_middle::ty::Const::from_value(self.lcx.tcx, val, ty))?;
337337
let result = miri_to_const(&result);
338338
if result.is_some() {
339339
self.needed_resolution = true;
@@ -460,7 +460,7 @@ impl<'c, 'cc> ConstEvalLateContext<'c, 'cc> {
460460
}
461461

462462
pub fn miri_to_const(result: &ty::Const<'_>) -> Option<Constant> {
463-
use rustc::mir::interpret::{ConstValue, Scalar};
463+
use rustc_middle::mir::interpret::{ConstValue, Scalar};
464464
match result.val {
465465
ty::ConstKind::Value(ConstValue::Scalar(Scalar::Raw { data: d, .. })) => match result.ty.kind {
466466
ty::Bool => Some(Constant::Bool(d == 1)),

clippy_lints/src/copies.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
use crate::utils::{get_parent_expr, higher, if_sequence, same_tys, snippet, span_lint_and_note, span_lint_and_then};
22
use crate::utils::{SpanlessEq, SpanlessHash};
3-
use rustc::ty::Ty;
43
use rustc_data_structures::fx::FxHashMap;
54
use rustc_hir::{Arm, Block, Expr, ExprKind, MatchSource, Pat, PatKind};
65
use rustc_lint::{LateContext, LateLintPass};
6+
use rustc_middle::ty::Ty;
77
use rustc_session::{declare_lint_pass, declare_tool_lint};
88
use rustc_span::symbol::Symbol;
99
use std::collections::hash_map::Entry;

clippy_lints/src/default_trait_access.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
use if_chain::if_chain;
2-
use rustc::ty;
32
use rustc_errors::Applicability;
43
use rustc_hir::{Expr, ExprKind, QPath};
54
use rustc_lint::{LateContext, LateLintPass};
5+
use rustc_middle::ty;
66
use rustc_session::{declare_lint_pass, declare_tool_lint};
77

88
use crate::utils::{any_parent_is_automatically_derived, match_def_path, paths, span_lint_and_sugg};

clippy_lints/src/deprecated_lints.rs

+8
Original file line numberDiff line numberDiff line change
@@ -147,3 +147,11 @@ declare_deprecated_lint! {
147147
pub UNUSED_LABEL,
148148
"this lint has been uplifted to rustc and is now called `unused_labels`"
149149
}
150+
151+
declare_deprecated_lint! {
152+
/// **What it does:** Nothing. This lint has been deprecated.
153+
///
154+
/// **Deprecation reason:** Associated-constants are now preferred.
155+
pub REPLACE_CONSTS,
156+
"associated-constants `MIN`/`MAX` of integers are prefer to `{min,max}_value()` and module constants"
157+
}

clippy_lints/src/derive.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
use crate::utils::paths;
22
use crate::utils::{is_automatically_derived, is_copy, match_path, span_lint_and_then};
33
use if_chain::if_chain;
4-
use rustc::ty::{self, Ty};
54
use rustc_hir::{Item, ItemKind, TraitRef};
65
use rustc_lint::{LateContext, LateLintPass};
6+
use rustc_middle::ty::{self, Ty};
77
use rustc_session::{declare_lint_pass, declare_tool_lint};
88
use rustc_span::source_map::Span;
99

clippy_lints/src/doc.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
use crate::utils::{implements_trait, is_entrypoint_fn, match_type, paths, return_ty, span_lint};
22
use if_chain::if_chain;
33
use itertools::Itertools;
4-
use rustc::lint::in_external_macro;
5-
use rustc::ty;
64
use rustc_ast::ast::{AttrKind, Attribute};
75
use rustc_data_structures::fx::FxHashSet;
86
use rustc_hir as hir;
97
use rustc_lint::{LateContext, LateLintPass};
8+
use rustc_middle::lint::in_external_macro;
9+
use rustc_middle::ty;
1010
use rustc_session::{declare_tool_lint, impl_lint_pass};
1111
use rustc_span::source_map::{BytePos, MultiSpan, Span};
1212
use rustc_span::Pos;

clippy_lints/src/drop_forget_ref.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
use crate::utils::{is_copy, match_def_path, paths, qpath_res, span_lint_and_note};
22
use if_chain::if_chain;
3-
use rustc::ty;
43
use rustc_hir::{Expr, ExprKind};
54
use rustc_lint::{LateContext, LateLintPass};
5+
use rustc_middle::ty;
66
use rustc_session::{declare_lint_pass, declare_tool_lint};
77

88
declare_clippy_lint! {

clippy_lints/src/else_if_without_else.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
//! Lint on if expressions with an else if, but without a final else branch.
22
3-
use rustc::lint::in_external_macro;
43
use rustc_ast::ast::{Expr, ExprKind};
54
use rustc_lint::{EarlyContext, EarlyLintPass, LintContext};
5+
use rustc_middle::lint::in_external_macro;
66
use rustc_session::{declare_lint_pass, declare_tool_lint};
77

88
use crate::utils::span_lint_and_help;

clippy_lints/src/entry.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ use crate::utils::SpanlessEq;
22
use crate::utils::{get_item_name, higher, match_type, paths, snippet, snippet_opt};
33
use crate::utils::{snippet_with_applicability, span_lint_and_then, walk_ptrs_ty};
44
use if_chain::if_chain;
5-
use rustc::hir::map::Map;
65
use rustc_errors::Applicability;
76
use rustc_hir::intravisit::{walk_expr, NestedVisitorMap, Visitor};
87
use rustc_hir::{BorrowKind, Expr, ExprKind, UnOp};
98
use rustc_lint::{LateContext, LateLintPass};
9+
use rustc_middle::hir::map::Map;
1010
use rustc_session::{declare_lint_pass, declare_tool_lint};
1111
use rustc_span::source_map::Span;
1212

clippy_lints/src/enum_clike.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
44
use crate::consts::{miri_to_const, Constant};
55
use crate::utils::span_lint;
6-
use rustc::ty;
7-
use rustc::ty::util::IntTypeExt;
86
use rustc_ast::ast::{IntTy, UintTy};
97
use rustc_hir::{Item, ItemKind};
108
use rustc_lint::{LateContext, LateLintPass};
9+
use rustc_middle::ty;
10+
use rustc_middle::ty::util::IntTypeExt;
1111
use rustc_session::{declare_lint_pass, declare_tool_lint};
1212
use std::convert::TryFrom;
1313

@@ -51,7 +51,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for UnportableVariant {
5151
.tcx
5252
.const_eval_poly(def_id)
5353
.ok()
54-
.map(|val| rustc::ty::Const::from_value(cx.tcx, val, ty));
54+
.map(|val| rustc_middle::ty::Const::from_value(cx.tcx, val, ty));
5555
if let Some(Constant::Int(val)) = constant.and_then(miri_to_const) {
5656
if let ty::Adt(adt, _) = ty.kind {
5757
if adt.is_enum() {

clippy_lints/src/escape.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
use rustc::ty::layout::LayoutOf;
2-
use rustc::ty::{self, Ty};
31
use rustc_hir::intravisit;
42
use rustc_hir::{self, Body, FnDecl, HirId, HirIdSet, ItemKind, Node};
53
use rustc_infer::infer::TyCtxtInferExt;
64
use rustc_lint::{LateContext, LateLintPass};
5+
use rustc_middle::ty::layout::LayoutOf;
6+
use rustc_middle::ty::{self, Ty};
77
use rustc_session::{declare_tool_lint, impl_lint_pass};
88
use rustc_span::source_map::Span;
99
use rustc_typeck::expr_use_visitor::{ConsumeMode, Delegate, ExprUseVisitor, Place, PlaceBase};
@@ -92,7 +92,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for BoxedLocal {
9292
}
9393

9494
// TODO: Replace with Map::is_argument(..) when it's fixed
95-
fn is_argument(map: rustc::hir::map::Map<'_>, id: HirId) -> bool {
95+
fn is_argument(map: rustc_middle::hir::map::Map<'_>, id: HirId) -> bool {
9696
match map.find(id) {
9797
Some(Node::Binding(_)) => (),
9898
_ => return false,

clippy_lints/src/eta_reduction.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
use if_chain::if_chain;
2-
use rustc::lint::in_external_macro;
3-
use rustc::ty::{self, Ty};
42
use rustc_errors::Applicability;
53
use rustc_hir::{def_id, Expr, ExprKind, Param, PatKind, QPath};
64
use rustc_lint::{LateContext, LateLintPass, LintContext};
5+
use rustc_middle::lint::in_external_macro;
6+
use rustc_middle::ty::{self, Ty};
77
use rustc_session::{declare_lint_pass, declare_tool_lint};
88

99
use crate::utils::{

clippy_lints/src/eval_order_dependence.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
use crate::utils::{get_parent_expr, span_lint, span_lint_and_note};
22
use if_chain::if_chain;
3-
use rustc::hir::map::Map;
4-
use rustc::ty;
53
use rustc_hir::intravisit::{walk_expr, NestedVisitorMap, Visitor};
64
use rustc_hir::{def, BinOpKind, Block, Expr, ExprKind, Guard, HirId, Local, Node, QPath, Stmt, StmtKind};
75
use rustc_lint::{LateContext, LateLintPass};
6+
use rustc_middle::hir::map::Map;
7+
use rustc_middle::ty;
88
use rustc_session::{declare_lint_pass, declare_tool_lint};
99

1010
declare_clippy_lint! {

clippy_lints/src/fallible_impl_from.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
use crate::utils::paths::{BEGIN_PANIC, BEGIN_PANIC_FMT, FROM_TRAIT, OPTION, RESULT};
22
use crate::utils::{is_expn_of, match_def_path, method_chain_args, span_lint_and_then, walk_ptrs_ty};
33
use if_chain::if_chain;
4-
use rustc::hir::map::Map;
5-
use rustc::ty::{self, Ty};
64
use rustc_hir as hir;
75
use rustc_lint::{LateContext, LateLintPass};
6+
use rustc_middle::hir::map::Map;
7+
use rustc_middle::ty::{self, Ty};
88
use rustc_session::{declare_lint_pass, declare_tool_lint};
99
use rustc_span::Span;
1010

clippy_lints/src/float_literal.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
use crate::utils::{numeric_literal, span_lint_and_sugg};
22
use if_chain::if_chain;
3-
use rustc::ty;
43
use rustc_ast::ast::{FloatTy, LitFloatType, LitKind};
54
use rustc_errors::Applicability;
65
use rustc_hir as hir;
76
use rustc_lint::{LateContext, LateLintPass};
7+
use rustc_middle::ty;
88
use rustc_session::{declare_lint_pass, declare_tool_lint};
99
use std::{f32, f64, fmt};
1010

clippy_lints/src/floating_point_arithmetic.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ use crate::consts::{
44
};
55
use crate::utils::{higher, numeric_literal, span_lint_and_sugg, sugg, SpanlessEq};
66
use if_chain::if_chain;
7-
use rustc::ty;
87
use rustc_errors::Applicability;
98
use rustc_hir::{BinOpKind, Expr, ExprKind, UnOp};
109
use rustc_lint::{LateContext, LateLintPass};
10+
use rustc_middle::ty;
1111
use rustc_session::{declare_lint_pass, declare_tool_lint};
1212
use rustc_span::source_map::Spanned;
1313

0 commit comments

Comments
 (0)