Restructure find_path into a separate functions for modules and non-module items

Also renames `prefer_core` imports config to `prefer_no_std` and changes the behavior of no_std path searching by preferring `core` paths `over` alloc
This commit is contained in:
Lukas Wirth 2022-09-13 15:09:40 +02:00
parent b1a4ba3e84
commit a8ecaa1979
31 changed files with 322 additions and 231 deletions

View file

@ -551,9 +551,11 @@ fn enum_variants_with_paths(
}
for variant in variants {
if let Some(path) =
ctx.module.find_use_path(ctx.db, hir::ModuleDef::from(variant), ctx.config.prefer_core)
{
if let Some(path) = ctx.module.find_use_path(
ctx.db,
hir::ModuleDef::from(variant),
ctx.config.prefer_no_std,
) {
// Variants with trivial paths are already added by the existing completion logic,
// so we should avoid adding these twice
if path.segments().len() > 1 {