look into extern prelude to provide sugestions
This commit is contained in:
parent
bfbbe6d426
commit
2fcabf2dd7
1 changed files with 23 additions and 3 deletions
|
|
@ -4331,9 +4331,29 @@ impl<'a, 'crateloader: 'a> Resolver<'a, 'crateloader> {
|
|||
-> Vec<ImportSuggestion>
|
||||
where FilterFn: Fn(Def) -> bool
|
||||
{
|
||||
self.lookup_import_candidates_from_module(
|
||||
lookup_name, namespace, self.graph_root, true, filter_fn
|
||||
)
|
||||
let mut suggestions = vec![];
|
||||
|
||||
suggestions.extend(
|
||||
self.lookup_import_candidates_from_module(
|
||||
lookup_name, namespace, self.graph_root, keywords::Crate.name(), filter_fn
|
||||
)
|
||||
);
|
||||
|
||||
if self.session.features_untracked().extern_prelude {
|
||||
let extern_prelude_names = self.extern_prelude.clone();
|
||||
for &krate_name in extern_prelude_names.iter() {
|
||||
let krate_ident = Ident::with_empty_ctxt(krate_name);
|
||||
let external_prelude_module = self.load_extern_prelude_crate_if_needed(krate_ident);
|
||||
|
||||
suggestions.extend(
|
||||
self.lookup_import_candidates_from_module(
|
||||
lookup_name, namespace, external_prelude_module, krate_name, filter_fn
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
suggestions
|
||||
}
|
||||
|
||||
fn find_module(&mut self,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue