Skip to content

Commit 007032f

Browse files
committed
Refactor
1 parent 78f7683 commit 007032f

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

crates/ra_hir_def/src/item_scope.rs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,18 +70,20 @@ impl ItemScope {
7070
}
7171

7272
/// Get a name from current module scope, legacy macros are not included
73-
pub(crate) fn get(&self, name: &Name, shadow: BuiltinShadowMode) -> Option<&PerNs> {
73+
pub(crate) fn get(&self, name: &Name, shadow: BuiltinShadowMode) -> Option<PerNs> {
7474
match shadow {
75-
BuiltinShadowMode::Module => self.visible.get(name).or_else(|| BUILTIN_SCOPE.get(name)),
75+
BuiltinShadowMode::Module => {
76+
self.visible.get(name).or_else(|| BUILTIN_SCOPE.get(name)).copied()
77+
}
7678
BuiltinShadowMode::Other => {
77-
let item = self.visible.get(name);
79+
let item = self.visible.get(name).copied();
7880
if let Some(def) = item {
7981
if let Some(ModuleDefId::ModuleId(_)) = def.take_types() {
80-
return BUILTIN_SCOPE.get(name).or(item);
82+
return BUILTIN_SCOPE.get(name).copied().or(item);
8183
}
8284
}
8385

84-
item.or_else(|| BUILTIN_SCOPE.get(name))
86+
item.or_else(|| BUILTIN_SCOPE.get(name).copied())
8587
}
8688
}
8789
}

crates/ra_hir_def/src/nameres/path_resolution.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ impl CrateDefMap {
181181

182182
// Since it is a qualified path here, it should not contains legacy macros
183183
match self[module.local_id].scope.get(&segment, prefer_module(i)) {
184-
Some(def) => *def,
184+
Some(def) => def,
185185
_ => {
186186
log::debug!("path segment {:?} not found", segment);
187187
return ResolvePathResult::empty(ReachedFixedPoint::No);
@@ -243,7 +243,7 @@ impl CrateDefMap {
243243
// - std prelude
244244
let from_legacy_macro =
245245
self[module].scope.get_legacy_macro(name).map_or_else(PerNs::none, PerNs::macros);
246-
let from_scope = self[module].scope.get(name, shadow).copied().unwrap_or_else(PerNs::none);
246+
let from_scope = self[module].scope.get(name, shadow).unwrap_or_else(PerNs::none);
247247
let from_extern_prelude =
248248
self.extern_prelude.get(name).map_or(PerNs::none(), |&it| PerNs::types(it));
249249
let from_prelude = self.resolve_in_prelude(db, name, shadow);
@@ -256,8 +256,7 @@ impl CrateDefMap {
256256
name: &Name,
257257
shadow: BuiltinShadowMode,
258258
) -> PerNs {
259-
let from_crate_root =
260-
self[self.root].scope.get(name, shadow).copied().unwrap_or_else(PerNs::none);
259+
let from_crate_root = self[self.root].scope.get(name, shadow).unwrap_or_else(PerNs::none);
261260
let from_extern_prelude = self.resolve_name_in_extern_prelude(name);
262261

263262
from_crate_root.or(from_extern_prelude)
@@ -278,7 +277,7 @@ impl CrateDefMap {
278277
keep = db.crate_def_map(prelude.krate);
279278
&keep
280279
};
281-
def_map[prelude.local_id].scope.get(name, shadow).copied().unwrap_or_else(PerNs::none)
280+
def_map[prelude.local_id].scope.get(name, shadow).unwrap_or_else(PerNs::none)
282281
} else {
283282
PerNs::none()
284283
}

0 commit comments

Comments
 (0)