aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/nameres.rs
diff options
context:
space:
mode:
authorAlan Du <[email protected]>2019-06-03 15:27:51 +0100
committerAlan Du <[email protected]>2019-06-04 23:05:07 +0100
commitb28ca32db22d5e2ed34db556c6fd50a5fc2d679c (patch)
tree7e86e3f6ffdbc972b2ac968503f2b3671fd9b3a5 /crates/ra_hir/src/nameres.rs
parent40424d4222d4630bc53294d10f1718f2d3d300de (diff)
Fix clippy::or_fun_call
Diffstat (limited to 'crates/ra_hir/src/nameres.rs')
-rw-r--r--crates/ra_hir/src/nameres.rs17
1 files changed, 11 insertions, 6 deletions
diff --git a/crates/ra_hir/src/nameres.rs b/crates/ra_hir/src/nameres.rs
index d822f7d93..7bddee9b9 100644
--- a/crates/ra_hir/src/nameres.rs
+++ b/crates/ra_hir/src/nameres.rs
@@ -332,7 +332,8 @@ impl CrateDefMap {
332 let name = path.expand_macro_expr()?; 332 let name = path.expand_macro_expr()?;
333 // search local first 333 // search local first
334 // FIXME: Remove public_macros check when we have a correct local_macors implementation 334 // FIXME: Remove public_macros check when we have a correct local_macors implementation
335 let local = self.public_macros.get(&name).or(self.local_macros.get(&name)).map(|it| *it); 335 let local =
336 self.public_macros.get(&name).or_else(|| self.local_macros.get(&name)).map(|it| *it);
336 if local.is_some() { 337 if local.is_some() {
337 return local; 338 return local;
338 } 339 }
@@ -479,8 +480,10 @@ impl CrateDefMap {
479 } 480 }
480 481
481 fn resolve_name_in_crate_root_or_extern_prelude(&self, name: &Name) -> ItemOrMacro { 482 fn resolve_name_in_crate_root_or_extern_prelude(&self, name: &Name) -> ItemOrMacro {
482 let from_crate_root = 483 let from_crate_root = self[self.root]
483 self[self.root].scope.get_item_or_macro(name).unwrap_or(Either::Left(PerNs::none())); 484 .scope
485 .get_item_or_macro(name)
486 .unwrap_or_else(|| Either::Left(PerNs::none()));
484 let from_extern_prelude = self.resolve_name_in_extern_prelude(name); 487 let from_extern_prelude = self.resolve_name_in_extern_prelude(name);
485 488
486 or(from_crate_root, Either::Left(from_extern_prelude)) 489 or(from_crate_root, Either::Left(from_extern_prelude))
@@ -505,8 +508,10 @@ impl CrateDefMap {
505 // - current module / scope 508 // - current module / scope
506 // - extern prelude 509 // - extern prelude
507 // - std prelude 510 // - std prelude
508 let from_scope = 511 let from_scope = self[module]
509 self[module].scope.get_item_or_macro(name).unwrap_or(Either::Left(PerNs::none()));; 512 .scope
513 .get_item_or_macro(name)
514 .unwrap_or_else(|| Either::Left(PerNs::none()));;
510 let from_extern_prelude = 515 let from_extern_prelude =
511 self.extern_prelude.get(name).map_or(PerNs::none(), |&it| PerNs::types(it)); 516 self.extern_prelude.get(name).map_or(PerNs::none(), |&it| PerNs::types(it));
512 let from_prelude = self.resolve_in_prelude(db, name); 517 let from_prelude = self.resolve_in_prelude(db, name);
@@ -525,7 +530,7 @@ impl CrateDefMap {
525 } else { 530 } else {
526 db.crate_def_map(prelude.krate)[prelude.module_id].scope.get_item_or_macro(name) 531 db.crate_def_map(prelude.krate)[prelude.module_id].scope.get_item_or_macro(name)
527 }; 532 };
528 resolution.unwrap_or(Either::Left(PerNs::none())) 533 resolution.unwrap_or_else(|| Either::Left(PerNs::none()))
529 } else { 534 } else {
530 Either::Left(PerNs::none()) 535 Either::Left(PerNs::none())
531 } 536 }