Skip to content

Commit a998b1f

Browse files
committed
allow specifying attributes for tool lints
1 parent ea43c3c commit a998b1f

File tree

2 files changed

+19
-7
lines changed

2 files changed

+19
-7
lines changed

src/librustc/lint/mod.rs

+14-6
Original file line numberDiff line numberDiff line change
@@ -132,14 +132,22 @@ macro_rules! declare_lint {
132132

133133
#[macro_export]
134134
macro_rules! declare_tool_lint {
135-
($vis: vis $tool: ident ::$NAME: ident, $Level: ident, $desc: expr) => (
136-
declare_tool_lint!{$vis $tool::$NAME, $Level, $desc, false}
135+
(
136+
$(#[$attr:meta])* $vis:vis $tool:ident ::$NAME:ident, $Level: ident, $desc: expr
137+
) => (
138+
declare_tool_lint!{$(#[$attr])* $vis $tool::$NAME, $Level, $desc, false}
137139
);
138-
($vis: vis $tool: ident ::$NAME: ident, $Level: ident, $desc: expr,
139-
report_in_external_macro: $rep: expr) => (
140-
declare_tool_lint!{$vis $tool::$NAME, $Level, $desc, $rep}
140+
(
141+
$(#[$attr:meta])* $vis:vis $tool:ident ::$NAME:ident, $Level:ident, $desc:expr,
142+
report_in_external_macro: $rep:expr
143+
) => (
144+
declare_tool_lint!{$(#[$attr])* $vis $tool::$NAME, $Level, $desc, $rep}
141145
);
142-
($vis: vis $tool: ident ::$NAME: ident, $Level: ident, $desc: expr, $external: expr) => (
146+
(
147+
$(#[$attr:meta])* $vis:vis $tool:ident ::$NAME:ident, $Level:ident, $desc:expr,
148+
$external:expr
149+
) => (
150+
$(#[$attr])*
143151
$vis static $NAME: &$crate::lint::Lint = &$crate::lint::Lint {
144152
name: &concat!(stringify!($tool), "::", stringify!($NAME)),
145153
default_level: $crate::lint::$Level,

src/test/ui-fulldeps/auxiliary/lint_tool_test.rs

+5-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,11 @@ use rustc::lint::{EarlyContext, LintContext, LintPass, EarlyLintPass,
1313
use rustc_plugin::Registry;
1414
use syntax::ast;
1515
declare_tool_lint!(pub clippy::TEST_LINT, Warn, "Warn about stuff");
16-
declare_tool_lint!(pub clippy::TEST_GROUP, Warn, "Warn about other stuff");
16+
declare_tool_lint!(
17+
/// Some docs
18+
pub clippy::TEST_GROUP,
19+
Warn, "Warn about other stuff"
20+
);
1721

1822
struct Pass;
1923

0 commit comments

Comments
 (0)