X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=clippy_lints%2Fsrc%2Fwildcard_dependencies.rs;h=60c3489a449b6796714a416120985ec2e8a7f33d;hb=b094bb1bd7f1cc702823c91ca509f338fedee24a;hp=b2a66b6d5a44648939fd1f7804b56ad372760d4d;hpb=95e537b03976a8ddf42c91e63f4537e11b25b862;p=rust.git diff --git a/clippy_lints/src/wildcard_dependencies.rs b/clippy_lints/src/wildcard_dependencies.rs index b2a66b6d5a4..60c3489a449 100644 --- a/clippy_lints/src/wildcard_dependencies.rs +++ b/clippy_lints/src/wildcard_dependencies.rs @@ -1,11 +1,11 @@ -use crate::utils::span_lint; -use rustc::lint::{EarlyContext, EarlyLintPass, LintArray, LintPass}; -use rustc::{declare_lint_pass, declare_tool_lint}; -use syntax::{ast::*, source_map::DUMMY_SP}; +use clippy_utils::diagnostics::span_lint; +use clippy_utils::run_lints; +use rustc_hir::{hir_id::CRATE_HIR_ID, Crate}; +use rustc_lint::{LateContext, LateLintPass}; +use rustc_session::{declare_lint_pass, declare_tool_lint}; +use rustc_span::source_map::DUMMY_SP; -use cargo_metadata; use if_chain::if_chain; -use semver; declare_clippy_lint! { /// **What it does:** Checks for wildcard dependencies in the `Cargo.toml`. @@ -29,14 +29,13 @@ declare_lint_pass!(WildcardDependencies => [WILDCARD_DEPENDENCIES]); -impl EarlyLintPass for WildcardDependencies { - fn check_crate(&mut self, cx: &EarlyContext<'_>, _: &Crate) { - let metadata = if let Ok(metadata) = cargo_metadata::MetadataCommand::new().no_deps().exec() { - metadata - } else { - span_lint(cx, WILDCARD_DEPENDENCIES, DUMMY_SP, "could not read cargo metadata"); +impl LateLintPass<'_> for WildcardDependencies { + fn check_crate(&mut self, cx: &LateContext<'_>, _: &Crate<'_>) { + if !run_lints(cx, &[WILDCARD_DEPENDENCIES], CRATE_HIR_ID) { return; - }; + } + + let metadata = unwrap_cargo_metadata!(cx, WILDCARD_DEPENDENCIES, false); for dep in &metadata.packages[0].dependencies { // VersionReq::any() does not work