Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir_expand/src/lib.rs')
| -rw-r--r-- | crates/hir_expand/src/lib.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/crates/hir_expand/src/lib.rs b/crates/hir_expand/src/lib.rs index ba0f101512..f1433c118f 100644 --- a/crates/hir_expand/src/lib.rs +++ b/crates/hir_expand/src/lib.rs @@ -712,7 +712,7 @@ impl<'a> InFile<&'a SyntaxNode> { self, db: &dyn db::AstDatabase, ) -> impl Iterator<Item = InFile<SyntaxNode>> + '_ { - iter::successors(Some(self.cloned()), move |node| match node.value.parent() { + let succ = move |node: &InFile<SyntaxNode>| match node.value.parent() { Some(parent) => Some(node.with_value(parent)), None => { let parent_node = node.file_id.call_node(db)?; @@ -724,7 +724,8 @@ impl<'a> InFile<&'a SyntaxNode> { Some(parent_node) } } - }) + }; + iter::successors(succ(&self.cloned()), succ) } /// Falls back to the macro call range if the node cannot be mapped up fully. |