From 8d6272b109f651b61fa6892a97852e0046235d70 Mon Sep 17 00:00:00 2001 From: Ruairidh Williamson Date: Tue, 3 Sep 2024 01:01:42 +0100 Subject: [PATCH] Review add weird test case --- clippy_lints/src/anon_trait_import.rs | 2 +- tests/ui/anon_trait_import.fixed | 6 ++++++ tests/ui/anon_trait_import.rs | 6 ++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/clippy_lints/src/anon_trait_import.rs b/clippy_lints/src/anon_trait_import.rs index 1813d9b83b20..80c499dbe47b 100644 --- a/clippy_lints/src/anon_trait_import.rs +++ b/clippy_lints/src/anon_trait_import.rs @@ -70,7 +70,7 @@ impl<'tcx> LateLintPass<'tcx> for AnonTraitImport { // Only check traits && let Some(Res::Def(DefKind::Trait, _)) = path.res.first() && cx.tcx.maybe_unused_trait_imports(()).contains(&item.owner_id.def_id) - // Only check this use if it is only visible to its module (no pub, pub(crate), ...) + // Only check this import if it is visible to its module only (no pub, pub(crate), ...) && let module = cx.tcx.parent_module_from_def_id(item.owner_id.def_id) && cx.tcx.visibility(item.owner_id.def_id) == Visibility::Restricted(module.to_def_id()) && let Some(last_segment) = path.segments.last() diff --git a/tests/ui/anon_trait_import.fixed b/tests/ui/anon_trait_import.fixed index f3bb29072211..d352e13aad2e 100644 --- a/tests/ui/anon_trait_import.fixed +++ b/tests/ui/anon_trait_import.fixed @@ -238,3 +238,9 @@ proc_macros::with_span!( "foo".type_id(); } ); + +// Limitation: Suggests `use std::any::Any as _::{self};` which looks weird +// fn use_trait_self_good() { +// use std::any::Any::{self}; +// "foo".type_id(); +// } diff --git a/tests/ui/anon_trait_import.rs b/tests/ui/anon_trait_import.rs index af500c51b2a3..dcd131da4225 100644 --- a/tests/ui/anon_trait_import.rs +++ b/tests/ui/anon_trait_import.rs @@ -238,3 +238,9 @@ proc_macros::with_span!( "foo".type_id(); } ); + +// Limitation: Suggests `use std::any::Any as _::{self};` which looks weird +// fn use_trait_self_good() { +// use std::any::Any::{self}; +// "foo".type_id(); +// }