From b28ca32db22d5e2ed34db556c6fd50a5fc2d679c Mon Sep 17 00:00:00 2001 From: Alan Du Date: Mon, 3 Jun 2019 10:27:51 -0400 Subject: Fix clippy::or_fun_call --- crates/ra_hir/src/nameres.rs | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'crates/ra_hir/src/nameres.rs') 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 { let name = path.expand_macro_expr()?; // search local first // FIXME: Remove public_macros check when we have a correct local_macors implementation - let local = self.public_macros.get(&name).or(self.local_macros.get(&name)).map(|it| *it); + let local = + self.public_macros.get(&name).or_else(|| self.local_macros.get(&name)).map(|it| *it); if local.is_some() { return local; } @@ -479,8 +480,10 @@ impl CrateDefMap { } fn resolve_name_in_crate_root_or_extern_prelude(&self, name: &Name) -> ItemOrMacro { - let from_crate_root = - self[self.root].scope.get_item_or_macro(name).unwrap_or(Either::Left(PerNs::none())); + let from_crate_root = self[self.root] + .scope + .get_item_or_macro(name) + .unwrap_or_else(|| Either::Left(PerNs::none())); let from_extern_prelude = self.resolve_name_in_extern_prelude(name); or(from_crate_root, Either::Left(from_extern_prelude)) @@ -505,8 +508,10 @@ impl CrateDefMap { // - current module / scope // - extern prelude // - std prelude - let from_scope = - self[module].scope.get_item_or_macro(name).unwrap_or(Either::Left(PerNs::none()));; + let from_scope = self[module] + .scope + .get_item_or_macro(name) + .unwrap_or_else(|| Either::Left(PerNs::none()));; let from_extern_prelude = self.extern_prelude.get(name).map_or(PerNs::none(), |&it| PerNs::types(it)); let from_prelude = self.resolve_in_prelude(db, name); @@ -525,7 +530,7 @@ impl CrateDefMap { } else { db.crate_def_map(prelude.krate)[prelude.module_id].scope.get_item_or_macro(name) }; - resolution.unwrap_or(Either::Left(PerNs::none())) + resolution.unwrap_or_else(|| Either::Left(PerNs::none())) } else { Either::Left(PerNs::none()) } -- cgit v1.2.3