mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-29 20:46:07 +03:00
resolve: Cleanup some uses of extern prelude in diagnostics
This commit is contained in:
@@ -1098,7 +1098,7 @@ fn early_lookup_typo_candidate(
|
||||
}
|
||||
}
|
||||
Scope::ExternPrelude => {
|
||||
suggestions.extend(this.extern_prelude.iter().filter_map(|(ident, _)| {
|
||||
suggestions.extend(this.extern_prelude.keys().filter_map(|ident| {
|
||||
let res = Res::Def(DefKind::Mod, CRATE_DEF_ID.to_def_id());
|
||||
filter_fn(res).then_some(TypoSuggestion::typo_from_ident(*ident, res))
|
||||
}));
|
||||
@@ -1411,7 +1411,7 @@ pub(crate) fn lookup_import_candidates<FilterFn>(
|
||||
);
|
||||
|
||||
if lookup_ident.span.at_least_rust_2018() {
|
||||
for ident in self.extern_prelude.clone().into_keys() {
|
||||
for &ident in self.extern_prelude.keys() {
|
||||
if ident.span.from_expansion() {
|
||||
// Idents are adjusted to the root context before being
|
||||
// resolved in the extern prelude, so reporting this to the
|
||||
|
||||
@@ -2477,19 +2477,10 @@ fn lookup_typo_candidate(
|
||||
} else {
|
||||
// Items from the prelude
|
||||
if !module.no_implicit_prelude {
|
||||
let extern_prelude = self.r.extern_prelude.clone();
|
||||
names.extend(extern_prelude.iter().flat_map(|(ident, _)| {
|
||||
self.r
|
||||
.cstore_mut()
|
||||
.maybe_process_path_extern(self.r.tcx, ident.name)
|
||||
.and_then(|crate_id| {
|
||||
let crate_mod =
|
||||
Res::Def(DefKind::Mod, crate_id.as_def_id());
|
||||
|
||||
filter_fn(crate_mod).then(|| {
|
||||
TypoSuggestion::typo_from_ident(*ident, crate_mod)
|
||||
})
|
||||
})
|
||||
names.extend(self.r.extern_prelude.keys().flat_map(|ident| {
|
||||
let res = Res::Def(DefKind::Mod, CRATE_DEF_ID.to_def_id());
|
||||
filter_fn(res)
|
||||
.then_some(TypoSuggestion::typo_from_ident(*ident, res))
|
||||
}));
|
||||
|
||||
if let Some(prelude) = self.r.prelude {
|
||||
|
||||
Reference in New Issue
Block a user