X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=clippy_lints%2Fsrc%2Fwildcard_dependencies.rs;h=60c3489a449b6796714a416120985ec2e8a7f33d;hb=b094bb1bd7f1cc702823c91ca509f338fedee24a;hp=035a10b1a2478a552b58aa56ecc32df7624168b9;hpb=a94b2c1f7df3525317f03a5021369a001b57fe95;p=rust.git diff --git a/clippy_lints/src/wildcard_dependencies.rs b/clippy_lints/src/wildcard_dependencies.rs index 035a10b1a24..60c3489a449 100644 --- a/clippy_lints/src/wildcard_dependencies.rs +++ b/clippy_lints/src/wildcard_dependencies.rs @@ -1,6 +1,7 @@ -use crate::utils::span_lint; -use rustc_ast::ast::Crate; -use rustc_lint::{EarlyContext, EarlyLintPass}; +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; @@ -28,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