Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-def/src/lib.rs')
| -rw-r--r-- | crates/hir-def/src/lib.rs | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/crates/hir-def/src/lib.rs b/crates/hir-def/src/lib.rs index b86703c3cb..e3d5e752e7 100644 --- a/crates/hir-def/src/lib.rs +++ b/crates/hir-def/src/lib.rs @@ -1370,7 +1370,7 @@ pub trait AsMacroCall { &self, db: &dyn ExpandDatabase, krate: CrateId, - resolver: impl Fn(path::ModPath) -> Option<MacroDefId> + Copy, + resolver: impl Fn(&path::ModPath) -> Option<MacroDefId> + Copy, ) -> Option<MacroCallId> { self.as_call_id_with_errors(db, krate, resolver).ok()?.value } @@ -1379,7 +1379,7 @@ pub trait AsMacroCall { &self, db: &dyn ExpandDatabase, krate: CrateId, - resolver: impl Fn(path::ModPath) -> Option<MacroDefId> + Copy, + resolver: impl Fn(&path::ModPath) -> Option<MacroDefId> + Copy, ) -> Result<ExpandResult<Option<MacroCallId>>, UnresolvedMacro>; } @@ -1388,7 +1388,7 @@ impl AsMacroCall for InFile<&ast::MacroCall> { &self, db: &dyn ExpandDatabase, krate: CrateId, - resolver: impl Fn(path::ModPath) -> Option<MacroDefId> + Copy, + resolver: impl Fn(&path::ModPath) -> Option<MacroDefId> + Copy, ) -> Result<ExpandResult<Option<MacroCallId>>, UnresolvedMacro> { let expands_to = hir_expand::ExpandTo::from_call_site(self.value); let ast_id = AstId::new(self.file_id, db.ast_id_map(self.file_id).ast_id(self.value)); @@ -1437,7 +1437,7 @@ fn macro_call_as_call_id( call_site: SyntaxContextId, expand_to: ExpandTo, krate: CrateId, - resolver: impl Fn(path::ModPath) -> Option<MacroDefId> + Copy, + resolver: impl Fn(&path::ModPath) -> Option<MacroDefId> + Copy, ) -> Result<Option<MacroCallId>, UnresolvedMacro> { macro_call_as_call_id_with_eager(db, call, call_site, expand_to, krate, resolver, resolver) .map(|res| res.value) @@ -1449,11 +1449,10 @@ fn macro_call_as_call_id_with_eager( call_site: SyntaxContextId, expand_to: ExpandTo, krate: CrateId, - resolver: impl FnOnce(path::ModPath) -> Option<MacroDefId>, - eager_resolver: impl Fn(path::ModPath) -> Option<MacroDefId>, + resolver: impl FnOnce(&path::ModPath) -> Option<MacroDefId>, + eager_resolver: impl Fn(&path::ModPath) -> Option<MacroDefId>, ) -> Result<ExpandResult<Option<MacroCallId>>, UnresolvedMacro> { - let def = - resolver(call.path.clone()).ok_or_else(|| UnresolvedMacro { path: call.path.clone() })?; + let def = resolver(&call.path).ok_or_else(|| UnresolvedMacro { path: call.path.clone() })?; let res = match def.kind { MacroDefKind::BuiltInEager(..) => expand_eager_macro_input( |