Skip to content

Commit 7c405c0

Browse files
committed
Simplify
1 parent 007032f commit 7c405c0

File tree

2 files changed

+17
-16
lines changed

2 files changed

+17
-16
lines changed

crates/ra_hir_def/src/item_scope.rs

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,20 +70,27 @@ 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) -> PerNs {
7474
match shadow {
75-
BuiltinShadowMode::Module => {
76-
self.visible.get(name).or_else(|| BUILTIN_SCOPE.get(name)).copied()
77-
}
75+
BuiltinShadowMode::Module => self
76+
.visible
77+
.get(name)
78+
.or_else(|| BUILTIN_SCOPE.get(name))
79+
.copied()
80+
.unwrap_or_else(PerNs::none),
7881
BuiltinShadowMode::Other => {
7982
let item = self.visible.get(name).copied();
8083
if let Some(def) = item {
8184
if let Some(ModuleDefId::ModuleId(_)) = def.take_types() {
82-
return BUILTIN_SCOPE.get(name).copied().or(item);
85+
return BUILTIN_SCOPE
86+
.get(name)
87+
.copied()
88+
.or(item)
89+
.unwrap_or_else(PerNs::none);
8390
}
8491
}
8592

86-
item.or_else(|| BUILTIN_SCOPE.get(name).copied())
93+
item.or_else(|| BUILTIN_SCOPE.get(name).copied()).unwrap_or_else(PerNs::none)
8794
}
8895
}
8996
}

crates/ra_hir_def/src/nameres/path_resolution.rs

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -180,13 +180,7 @@ impl CrateDefMap {
180180
}
181181

182182
// Since it is a qualified path here, it should not contains legacy macros
183-
match self[module.local_id].scope.get(&segment, prefer_module(i)) {
184-
Some(def) => def,
185-
_ => {
186-
log::debug!("path segment {:?} not found", segment);
187-
return ResolvePathResult::empty(ReachedFixedPoint::No);
188-
}
189-
}
183+
self[module.local_id].scope.get(&segment, prefer_module(i))
190184
}
191185
ModuleDefId::AdtId(AdtId::EnumId(e)) => {
192186
// enum variant
@@ -243,7 +237,7 @@ impl CrateDefMap {
243237
// - std prelude
244238
let from_legacy_macro =
245239
self[module].scope.get_legacy_macro(name).map_or_else(PerNs::none, PerNs::macros);
246-
let from_scope = self[module].scope.get(name, shadow).unwrap_or_else(PerNs::none);
240+
let from_scope = self[module].scope.get(name, shadow);
247241
let from_extern_prelude =
248242
self.extern_prelude.get(name).map_or(PerNs::none(), |&it| PerNs::types(it));
249243
let from_prelude = self.resolve_in_prelude(db, name, shadow);
@@ -256,7 +250,7 @@ impl CrateDefMap {
256250
name: &Name,
257251
shadow: BuiltinShadowMode,
258252
) -> PerNs {
259-
let from_crate_root = self[self.root].scope.get(name, shadow).unwrap_or_else(PerNs::none);
253+
let from_crate_root = self[self.root].scope.get(name, shadow);
260254
let from_extern_prelude = self.resolve_name_in_extern_prelude(name);
261255

262256
from_crate_root.or(from_extern_prelude)
@@ -277,7 +271,7 @@ impl CrateDefMap {
277271
keep = db.crate_def_map(prelude.krate);
278272
&keep
279273
};
280-
def_map[prelude.local_id].scope.get(name, shadow).unwrap_or_else(PerNs::none)
274+
def_map[prelude.local_id].scope.get(name, shadow)
281275
} else {
282276
PerNs::none()
283277
}

0 commit comments

Comments
 (0)