Skip to content

Commit

Permalink
Simplify
Browse files Browse the repository at this point in the history
  • Loading branch information
Veykril committed May 22, 2024
1 parent 7a21dff commit f50f8fb
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 16 deletions.
18 changes: 9 additions & 9 deletions src/tools/rust-analyzer/crates/hir-def/src/find_path.rs
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
//! An algorithm to find a path to refer to a certain item.

use std::{
cmp::Ordering,
iter::{self, once},
};
use std::{cmp::Ordering, iter};

use hir_expand::{
name::{known, AsName, Name},
Expand Down Expand Up @@ -85,7 +82,7 @@ struct FindPathCtx<'db> {
fn find_path_inner(ctx: FindPathCtx<'_>, item: ItemInNs, from: ModuleId) -> Option<ModPath> {
// - if the item is a builtin, it's in scope
if let ItemInNs::Types(ModuleDefId::BuiltinType(builtin)) = item {
return Some(ModPath::from_segments(PathKind::Plain, once(builtin.as_name())));
return Some(ModPath::from_segments(PathKind::Plain, iter::once(builtin.as_name())));
}

let def_map = from.def_map(ctx.db);
Expand Down Expand Up @@ -124,7 +121,7 @@ fn find_path_inner(ctx: FindPathCtx<'_>, item: ItemInNs, from: ModuleId) -> Opti
// - if the item is already in scope, return the name under which it is
let scope_name = find_in_scope(ctx.db, &def_map, from, item, ctx.ignore_local_imports);
if let Some(scope_name) = scope_name {
return Some(ModPath::from_segments(prefix.path_kind(), Some(scope_name)));
return Some(ModPath::from_segments(prefix.path_kind(), iter::once(scope_name)));
}
}

Expand Down Expand Up @@ -209,7 +206,7 @@ fn find_path_for_module(
} else {
PathKind::Plain
};
return Some((ModPath::from_segments(kind, once(name.clone())), Stable));
return Some((ModPath::from_segments(kind, iter::once(name.clone())), Stable));
}
}
let prefix = if module_id.is_within_block() { PrefixKind::Plain } else { ctx.prefix };
Expand All @@ -227,7 +224,10 @@ fn find_path_for_module(
);
if let Some(scope_name) = scope_name {
// - if the item is already in scope, return the name under which it is
return Some((ModPath::from_segments(prefix.path_kind(), once(scope_name)), Stable));
return Some((
ModPath::from_segments(prefix.path_kind(), iter::once(scope_name)),
Stable,
));
}
}

Expand Down Expand Up @@ -301,7 +301,7 @@ fn find_in_prelude(
});

if found_and_same_def.unwrap_or(true) {
Some(ModPath::from_segments(PathKind::Plain, once(name.clone())))
Some(ModPath::from_segments(PathKind::Plain, iter::once(name.clone())))
} else {
None
}
Expand Down
2 changes: 1 addition & 1 deletion src/tools/rust-analyzer/crates/hir-ty/src/display.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1001,7 +1001,7 @@ impl HirDisplay for Ty {
ItemInNs::Types((*def_id).into()),
module_id,
PrefixKind::Plain,
true,
false,
ImportPathConfig { prefer_no_std: false, prefer_prelude: true },
) {
write!(f, "{}", path.display(f.db.upcast()))?;
Expand Down
7 changes: 1 addition & 6 deletions src/tools/rust-analyzer/crates/ide-completion/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -266,12 +266,7 @@ pub fn resolve_completion_edits(
);
let import = items_with_name
.filter_map(|candidate| {
current_module.find_use_path(
db,
candidate,
config.insert_use.prefix_kind,
cfg,
)
current_module.find_use_path(db, candidate, config.insert_use.prefix_kind, cfg)
})
.find(|mod_path| mod_path.display(db).to_string() == full_import_path);
if let Some(import_path) = import {
Expand Down

0 comments on commit f50f8fb

Please sign in to comment.