Skip to content

Commit 1dcfa27

Browse files
committed
Move COGNITIVE_COMPLEXITY to use macro again
1 parent ddad55f commit 1dcfa27

File tree

5 files changed

+45
-49
lines changed

5 files changed

+45
-49
lines changed

compiler/rustc_lint/src/shadowed_into_iter.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ declare_lint! {
6464
};
6565
}
6666

67-
#[derive(Copy, Clone, Default)]
67+
#[derive(Copy, Clone)]
6868
pub(crate) struct ShadowedIntoIter;
6969

7070
impl_lint_pass!(ShadowedIntoIter => [ARRAY_INTO_ITER, BOXED_SLICE_INTO_ITER]);

compiler/rustc_lint_defs/src/lib.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -904,15 +904,15 @@ macro_rules! declare_tool_lint {
904904
$(, @eval_always = $eval_always:literal)?
905905
$(, @feature_gate = $gate:ident;)?
906906
) => (
907-
$crate::declare_tool_lint!{$(#[$attr])* $vis $tool::$NAME, $Level, $desc, false $(, @feature_gate = $gate;)?}
907+
$crate::declare_tool_lint!{$(#[$attr])* $vis $tool::$NAME, $Level, $desc, false $(, @eval_always = $eval_always)? $(, @feature_gate = $gate;)?}
908908
);
909909
(
910910
$(#[$attr:meta])* $vis:vis $tool:ident ::$NAME:ident, $Level:ident, $desc:expr,
911911
report_in_external_macro: $rep:expr
912-
$(, @feature_gate = $gate:ident;)?
913912
$(, @eval_always = $eval_always: literal)?
913+
$(, @feature_gate = $gate:ident;)?
914914
) => (
915-
$crate::declare_tool_lint!{$(#[$attr])* $vis $tool::$NAME, $Level, $desc, $rep $(, @feature_gate = $gate;)?}
915+
$crate::declare_tool_lint!{$(#[$attr])* $vis $tool::$NAME, $Level, $desc, $rep $(, @eval_always = $eval_always)? $(, @feature_gate = $gate;)?}
916916
);
917917
(
918918
$(#[$attr:meta])* $vis:vis $tool:ident ::$NAME:ident, $Level:ident, $desc:expr,

src/tools/clippy/clippy_lints/src/cognitive_complexity.rs

+21-34
Original file line numberDiff line numberDiff line change
@@ -8,44 +8,31 @@ use core::ops::ControlFlow;
88
use rustc_ast::ast::Attribute;
99
use rustc_hir::intravisit::FnKind;
1010
use rustc_hir::{Body, Expr, ExprKind, FnDecl};
11-
use rustc_lint::Level::Allow;
12-
use rustc_lint::{LateContext, LateLintPass, Lint, LintContext};
11+
use rustc_lint::{LateContext, LateLintPass, LintContext};
1312
use rustc_session::impl_lint_pass;
1413
use rustc_span::def_id::LocalDefId;
1514
use rustc_span::{Span, sym};
1615

17-
use crate::LintInfo;
18-
19-
pub static COGNITIVE_COMPLEXITY: &Lint = &Lint {
20-
name: &"clippy::COGNITIVE_COMPLEXITY",
21-
default_level: Allow,
22-
desc: "functions that should be split up into multiple functions",
23-
edition_lint_opts: None,
24-
report_in_external_macro: true,
25-
future_incompatible: None,
26-
is_externally_loaded: true,
27-
crate_level_only: false,
28-
eval_always: true,
29-
..Lint::default_fields_for_macro()
30-
};
31-
pub(crate) static COGNITIVE_COMPLEXITY_INFO: &'static LintInfo = &LintInfo {
32-
lint: &COGNITIVE_COMPLEXITY,
33-
category: crate::LintCategory::Nursery,
34-
explanation: r"### What it does
35-
Checks for methods with high cognitive complexity.
36-
37-
### Why is this bad?
38-
Methods of high cognitive complexity tend to be hard to both read and maintain.
39-
Also LLVM will tend to optimize small methods better.
40-
41-
### Known problems
42-
Sometimes it's hard to find a way to reduce the complexity.
43-
44-
### Example
45-
You'll see it when you get the warning.",
46-
version: Some("1.35.0"),
47-
location: "clippy_lints/src/cognitive_complexity.rs#L47",
48-
};
16+
declare_clippy_lint! {
17+
/// ### What it does
18+
/// Checks for methods with high cognitive complexity.
19+
///
20+
/// ### Why is this bad?
21+
/// Methods of high cognitive complexity tend to be hard to
22+
/// both read and maintain. Also LLVM will tend to optimize small methods better.
23+
///
24+
/// ### Known problems
25+
/// Sometimes it's hard to find a way to reduce the
26+
/// complexity.
27+
///
28+
/// ### Example
29+
/// You'll see it when you get the warning.
30+
#[clippy::version = "1.35.0"]
31+
pub COGNITIVE_COMPLEXITY,
32+
nursery,
33+
"functions that should be split up into multiple functions"
34+
@eval_always = true
35+
}
4936

5037
pub struct CognitiveComplexity {
5138
limit: LimitStack,

src/tools/clippy/clippy_lints/src/ctfe.rs

-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ use rustc_span::Span;
88

99
/// Ensures that Constant-time Function Evaluation is being done (specifically, MIR lint passes).
1010
/// As Clippy deactivates codegen, this lint ensures that CTFE (used in hard errors) is still ran.
11-
#[clippy::version = "1.82.0"]
1211
pub static CLIPPY_CTFE: &Lint = &Lint {
1312
name: &"clippy::CLIPPY_CTFE",
1413
default_level: Deny,

src/tools/clippy/clippy_lints/src/declare_clippy_lint.rs

+20-10
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ macro_rules! declare_clippy_lint {
99
$desc:literal,
1010
$version_expr:expr,
1111
$version_lit:literal
12+
$(, $eval_always: literal)?
1213
) => {
1314
rustc_session::declare_tool_lint! {
1415
$(#[doc = $lit])*
@@ -17,6 +18,7 @@ macro_rules! declare_clippy_lint {
1718
$category,
1819
$desc,
1920
report_in_external_macro:true
21+
$(, @eval_always = $eval_always)?
2022
}
2123

2224
pub(crate) static ${concat($lint_name, _INFO)}: &'static crate::LintInfo = &crate::LintInfo {
@@ -33,11 +35,12 @@ macro_rules! declare_clippy_lint {
3335
pub $lint_name:ident,
3436
restriction,
3537
$desc:literal
38+
$(@eval_always = $eval_always: literal)?
3639
) => {
3740
declare_clippy_lint! {@
3841
$(#[doc = $lit])*
3942
pub $lint_name, Allow, crate::LintCategory::Restriction, $desc,
40-
Some($version), $version
43+
Some($version), $version $(, $eval_always)?
4144
}
4245
};
4346
(
@@ -46,12 +49,12 @@ macro_rules! declare_clippy_lint {
4649
pub $lint_name:ident,
4750
style,
4851
$desc:literal
52+
$(@eval_always = $eval_always: literal)?
4953
) => {
5054
declare_clippy_lint! {@
5155
$(#[doc = $lit])*
5256
pub $lint_name, Warn, crate::LintCategory::Style, $desc,
53-
Some($version), $version
54-
57+
Some($version), $version $(, $eval_always)?
5558
}
5659
};
5760
(
@@ -60,11 +63,12 @@ macro_rules! declare_clippy_lint {
6063
pub $lint_name:ident,
6164
correctness,
6265
$desc:literal
66+
$(@eval_always = $eval_always: literal)?
6367
) => {
6468
declare_clippy_lint! {@
6569
$(#[doc = $lit])*
6670
pub $lint_name, Deny, crate::LintCategory::Correctness, $desc,
67-
Some($version), $version
71+
Some($version), $version $(, $eval_always)?
6872

6973
}
7074
};
@@ -74,11 +78,12 @@ macro_rules! declare_clippy_lint {
7478
pub $lint_name:ident,
7579
perf,
7680
$desc:literal
81+
$(@eval_always = $eval_always: literal)?
7782
) => {
7883
declare_clippy_lint! {@
7984
$(#[doc = $lit])*
8085
pub $lint_name, Warn, crate::LintCategory::Perf, $desc,
81-
Some($version), $version
86+
Some($version), $version $(, $eval_always)?
8287
}
8388
};
8489
(
@@ -87,11 +92,12 @@ macro_rules! declare_clippy_lint {
8792
pub $lint_name:ident,
8893
complexity,
8994
$desc:literal
95+
$(@eval_always = $eval_always: literal)?
9096
) => {
9197
declare_clippy_lint! {@
9298
$(#[doc = $lit])*
9399
pub $lint_name, Warn, crate::LintCategory::Complexity, $desc,
94-
Some($version), $version
100+
Some($version), $version $(, $eval_always)?
95101
}
96102
};
97103
(
@@ -100,11 +106,12 @@ macro_rules! declare_clippy_lint {
100106
pub $lint_name:ident,
101107
suspicious,
102108
$desc:literal
109+
$(@eval_always = $eval_always: literal)?
103110
) => {
104111
declare_clippy_lint! {@
105112
$(#[doc = $lit])*
106113
pub $lint_name, Warn, crate::LintCategory::Suspicious, $desc,
107-
Some($version), $version
114+
Some($version), $version $(, $eval_always)?
108115
}
109116
};
110117
(
@@ -113,11 +120,12 @@ macro_rules! declare_clippy_lint {
113120
pub $lint_name:ident,
114121
nursery,
115122
$desc:literal
123+
$(@eval_always = $eval_always: literal)?
116124
) => {
117125
declare_clippy_lint! {@
118126
$(#[doc = $lit])*
119127
pub $lint_name, Allow, crate::LintCategory::Nursery, $desc,
120-
Some($version), $version
128+
Some($version), $version $(, $eval_always)?
121129
}
122130
};
123131
(
@@ -126,11 +134,12 @@ macro_rules! declare_clippy_lint {
126134
pub $lint_name:ident,
127135
pedantic,
128136
$desc:literal
137+
$(@eval_always = $eval_always: literal)?
129138
) => {
130139
declare_clippy_lint! {@
131140
$(#[doc = $lit])*
132141
pub $lint_name, Allow, crate::LintCategory::Pedantic, $desc,
133-
Some($version), $version
142+
Some($version), $version $(, $eval_always)?
134143
}
135144
};
136145
(
@@ -139,11 +148,12 @@ macro_rules! declare_clippy_lint {
139148
pub $lint_name:ident,
140149
cargo,
141150
$desc:literal
151+
$(@eval_always = $eval_always: literal)?
142152
) => {
143153
declare_clippy_lint! {@
144154
$(#[doc = $lit])*
145155
pub $lint_name, Allow, crate::LintCategory::Cargo, $desc,
146-
Some($version), $version
156+
Some($version), $version $(, $eval_always)?
147157
}
148158
};
149159

0 commit comments

Comments
 (0)