diff options
| author | bors <bors@rust-lang.org> | 2025-06-02 16:15:30 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2025-06-02 16:15:30 +0000 |
| commit | 449c801783ecef2aad3ae03d6c9e4ac007de7d4b (patch) | |
| tree | cfc7daa1c856af81586843f9be36691359e77340 /compiler | |
| parent | 2398bd60ef526e686a38a299cc2fa991d8b3c33e (diff) | |
| parent | 8f240de112ee0b0a062ad0a3d14dc5c09ca4ecf7 (diff) | |
| download | rust-449c801783ecef2aad3ae03d6c9e4ac007de7d4b.tar.gz rust-449c801783ecef2aad3ae03d6c9e4ac007de7d4b.zip | |
Auto merge of #141906 - chenyukang:rollup-k6v59ty, r=chenyukang
Rollup of 6 pull requests Successful merges: - rust-lang/rust#141884 (allow macro_use as first segment) - rust-lang/rust#141885 ([RTE-484] Update SGX maintainers) - rust-lang/rust#141892 (Fix false positive lint error from no_implicit_prelude attr) - rust-lang/rust#141894 (rustc-dev-guide subtree update) - rust-lang/rust#141895 (tshepang has a new email) - rust-lang/rust#141897 (Fix citool tests when executed locally) r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/rustc_passes/src/check_attr.rs | 4 | ||||
| -rw-r--r-- | compiler/rustc_resolve/src/check_unused.rs | 10 |
2 files changed, 13 insertions, 1 deletions
diff --git a/compiler/rustc_passes/src/check_attr.rs b/compiler/rustc_passes/src/check_attr.rs index 0777d442b59..5b7d45bb152 100644 --- a/compiler/rustc_passes/src/check_attr.rs +++ b/compiler/rustc_passes/src/check_attr.rs @@ -2312,7 +2312,9 @@ impl<'tcx> CheckAttrVisitor<'tcx> { } fn check_macro_use(&self, hir_id: HirId, attr: &Attribute, target: Target) { - let name = attr.name().unwrap(); + let Some(name) = attr.name() else { + return; + }; match target { Target::ExternCrate | Target::Mod => {} _ => { diff --git a/compiler/rustc_resolve/src/check_unused.rs b/compiler/rustc_resolve/src/check_unused.rs index 0579e91c0d6..e0b2adb3fc9 100644 --- a/compiler/rustc_resolve/src/check_unused.rs +++ b/compiler/rustc_resolve/src/check_unused.rs @@ -193,6 +193,16 @@ impl<'a, 'ra, 'tcx> UnusedImportCheckVisitor<'a, 'ra, 'tcx> { continue; } + let module = self + .r + .get_nearest_non_block_module(self.r.local_def_id(extern_crate.id).to_def_id()); + if module.no_implicit_prelude { + // If the module has `no_implicit_prelude`, then we don't suggest + // replacing the extern crate with a use, as it would not be + // inserted into the prelude. User writes `extern` style deliberately. + continue; + } + let vis_span = extern_crate .vis_span .find_ancestor_inside(extern_crate.span) |
