Skip to content

Commit 2fcabf2

Browse files
committed
look into extern prelude to provide sugestions
1 parent bfbbe6d commit 2fcabf2

File tree

1 file changed

+23
-3
lines changed

1 file changed

+23
-3
lines changed

src/librustc_resolve/lib.rs

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4331,9 +4331,29 @@ impl<'a, 'crateloader: 'a> Resolver<'a, 'crateloader> {
43314331
-> Vec<ImportSuggestion>
43324332
where FilterFn: Fn(Def) -> bool
43334333
{
4334-
self.lookup_import_candidates_from_module(
4335-
lookup_name, namespace, self.graph_root, true, filter_fn
4336-
)
4334+
let mut suggestions = vec![];
4335+
4336+
suggestions.extend(
4337+
self.lookup_import_candidates_from_module(
4338+
lookup_name, namespace, self.graph_root, keywords::Crate.name(), filter_fn
4339+
)
4340+
);
4341+
4342+
if self.session.features_untracked().extern_prelude {
4343+
let extern_prelude_names = self.extern_prelude.clone();
4344+
for &krate_name in extern_prelude_names.iter() {
4345+
let krate_ident = Ident::with_empty_ctxt(krate_name);
4346+
let external_prelude_module = self.load_extern_prelude_crate_if_needed(krate_ident);
4347+
4348+
suggestions.extend(
4349+
self.lookup_import_candidates_from_module(
4350+
lookup_name, namespace, external_prelude_module, krate_name, filter_fn
4351+
)
4352+
);
4353+
}
4354+
}
4355+
4356+
suggestions
43374357
}
43384358

43394359
fn find_module(&mut self,

0 commit comments

Comments
 (0)