diff --git a/clippy_utils/src/declare_clippy_lint.rs b/clippy_lints/src/declare_clippy_lint.rs similarity index 74% rename from clippy_utils/src/declare_clippy_lint.rs rename to clippy_lints/src/declare_clippy_lint.rs index 6e35accc3ea5..c4cef9e1394d 100644 --- a/clippy_utils/src/declare_clippy_lint.rs +++ b/clippy_lints/src/declare_clippy_lint.rs @@ -1,11 +1,7 @@ -// warn on lints, that are included in `rust-lang/rust`s bootstrap -#![warn(rust_2018_idioms, unused_lifetimes)] - #[macro_export] #[allow(clippy::crate_in_macro_def)] macro_rules! declare_clippy_lint { (@ - // $(#[$($attrss:tt)*])* $(#[doc = $lit:literal])* pub $lint_name:ident, $category:ident, @@ -17,19 +13,19 @@ macro_rules! declare_clippy_lint { rustc_session::declare_tool_lint! { $(#[doc = $lit])* #[clippy::version = $version_lit] - pub clippy::$lint_name,$category,$desc, - report_in_external_macro:true + pub clippy::$lint_name, + $category, + $desc, + report_in_external_macro:true } - $crate::paste::paste! { - pub(crate) static ${concat($lint_name, _INFO)}: &'static crate::LintInfo = &crate::LintInfo { - lint: &$lint_name, - category: $lintcategory, - explanation: concat!($($lit,"\n",)*), - location: concat!(file!(), "#L", line!()), - version: $version_expr - }; - } + pub(crate) static ${concat($lint_name, _INFO)}: &'static crate::LintInfo = &crate::LintInfo { + lint: &$lint_name, + category: $lintcategory, + explanation: concat!($($lit,"\n",)*), + location: concat!(file!(), "#L", line!()), + version: $version_expr + }; }; ( $(#[doc = $lit:literal])* @@ -40,7 +36,7 @@ macro_rules! declare_clippy_lint { ) => { declare_clippy_lint! {@ $(#[doc = $lit])* - pub $lint_name,Allow, crate::LintCategory::Restriction,$desc, + pub $lint_name, Allow, crate::LintCategory::Restriction, $desc, declare_clippy_lint!(__version = $version), $version } }; @@ -53,7 +49,7 @@ macro_rules! declare_clippy_lint { ) => { declare_clippy_lint! {@ $(#[doc = $lit])* - pub $lint_name, Warn, crate::LintCategory::Style,$desc, + pub $lint_name, Warn, crate::LintCategory::Style, $desc, declare_clippy_lint!(__version = $version), $version } @@ -67,7 +63,7 @@ macro_rules! declare_clippy_lint { ) => { declare_clippy_lint! {@ $(#[doc = $lit])* - pub $lint_name,Deny, crate::LintCategory::Correctness,$desc, + pub $lint_name, Deny, crate::LintCategory::Correctness, $desc, declare_clippy_lint!(__version = $version), $version } @@ -81,7 +77,7 @@ macro_rules! declare_clippy_lint { ) => { declare_clippy_lint! {@ $(#[doc = $lit])* - pub $lint_name, Warn, crate::LintCategory::Perf,$desc, + pub $lint_name, Warn, crate::LintCategory::Perf, $desc, declare_clippy_lint!(__version = $version), $version } }; @@ -94,7 +90,7 @@ macro_rules! declare_clippy_lint { ) => { declare_clippy_lint! {@ $(#[doc = $lit])* - pub $lint_name, Warn, crate::LintCategory::Complexity,$desc, + pub $lint_name, Warn, crate::LintCategory::Complexity, $desc, declare_clippy_lint!(__version = $version), $version } }; @@ -107,7 +103,7 @@ macro_rules! declare_clippy_lint { ) => { declare_clippy_lint! {@ $(#[doc = $lit])* - pub $lint_name, Warn, crate::LintCategory::Suspicious,$desc, + pub $lint_name, Warn, crate::LintCategory::Suspicious, $desc, declare_clippy_lint!(__version = $version), $version } }; @@ -120,7 +116,7 @@ macro_rules! declare_clippy_lint { ) => { declare_clippy_lint! {@ $(#[doc = $lit])* - pub $lint_name,Allow, crate::LintCategory::Nursery,$desc, + pub $lint_name, Allow, crate::LintCategory::Nursery, $desc, declare_clippy_lint!(__version = $version), $version } }; @@ -133,7 +129,7 @@ macro_rules! declare_clippy_lint { ) => { declare_clippy_lint! {@ $(#[doc = $lit])* - pub $lint_name,Allow, crate::LintCategory::Pedantic,$desc, + pub $lint_name, Allow, crate::LintCategory::Pedantic, $desc, declare_clippy_lint!(__version = $version), $version } }; @@ -146,7 +142,7 @@ macro_rules! declare_clippy_lint { ) => { declare_clippy_lint! {@ $(#[doc = $lit])* - pub $lint_name,Allow, crate::LintCategory::Cargo,$desc, + pub $lint_name, Allow, crate::LintCategory::Cargo, $desc, declare_clippy_lint!(__version = $version), $version } }; @@ -160,8 +156,8 @@ macro_rules! declare_clippy_lint { ) => { declare_clippy_lint! {@ $(#[doc = $lit])* - pub $lint_name,Allow, crate::LintCategory::Internal,$desc, - declare_clippy_lint!(__version = $($version)?), "0.0.0" + pub $lint_name, Allow, crate::LintCategory::Internal, $desc, + None, "0.0.0" } }; diff --git a/clippy_lints/src/lib.rs b/clippy_lints/src/lib.rs index 704c08d9a4d5..208ecab6f545 100644 --- a/clippy_lints/src/lib.rs +++ b/clippy_lints/src/lib.rs @@ -59,6 +59,9 @@ extern crate rustc_target; extern crate rustc_trait_selection; extern crate thin_vec; +#[macro_use] +mod declare_clippy_lint; + #[macro_use] extern crate clippy_utils; diff --git a/clippy_utils/src/lib.rs b/clippy_utils/src/lib.rs index b004f67d24fc..21b5d1553c43 100644 --- a/clippy_utils/src/lib.rs +++ b/clippy_utils/src/lib.rs @@ -59,7 +59,6 @@ pub mod attrs; mod check_proc_macro; pub mod comparisons; pub mod consts; -pub mod declare_clippy_lint; pub mod diagnostics; pub mod eager_or_lazy; pub mod higher; @@ -131,10 +130,6 @@ use crate::consts::{mir_to_const, ConstEvalCtxt, Constant}; use crate::higher::Range; use crate::ty::{adt_and_variant_of_res, can_partially_move_ty, expr_sig, is_copy, is_recursively_primitive_type}; use crate::visitors::for_each_expr_without_closures; - -#[doc(hidden)] -pub use paste; - use rustc_middle::hir::nested_filter; #[macro_export] diff --git a/tests/versioncheck.rs b/tests/versioncheck.rs index 683283339376..e29898f068d3 100644 --- a/tests/versioncheck.rs +++ b/tests/versioncheck.rs @@ -24,7 +24,6 @@ fn consistent_clippy_crate_versions() { let clippy_version = read_version("Cargo.toml"); let paths = [ - "declare_clippy_lint/Cargo.toml", "clippy_config/Cargo.toml", "clippy_lints/Cargo.toml", "clippy_utils/Cargo.toml",