Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir/src/semantics/source_to_def.rs')
| -rw-r--r-- | crates/hir/src/semantics/source_to_def.rs | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/crates/hir/src/semantics/source_to_def.rs b/crates/hir/src/semantics/source_to_def.rs index 9b8e563592..dd83f1c86e 100644 --- a/crates/hir/src/semantics/source_to_def.rs +++ b/crates/hir/src/semantics/source_to_def.rs @@ -131,15 +131,13 @@ impl SourceToDefCtx<'_, '_> { pub(super) fn module_to_def(&mut self, src: InFile<ast::Module>) -> Option<ModuleId> { let _p = profile::span("module_to_def"); - let parent_declaration = src - .syntax() - .cloned() - .ancestors_with_macros_skip_attr_item(self.db.upcast()) - .skip(1) - .find_map(|it| { - let m = ast::Module::cast(it.value.clone())?; - Some(it.with_value(m)) - }); + let parent_declaration = + src.syntax().ancestors_with_macros_skip_attr_item(self.db.upcast()).skip(1).find_map( + |it| { + let m = ast::Module::cast(it.value.clone())?; + Some(it.with_value(m)) + }, + ); let parent_module = match parent_declaration { Some(parent_declaration) => self.module_to_def(parent_declaration), @@ -333,8 +331,7 @@ impl SourceToDefCtx<'_, '_> { } pub(super) fn find_container(&mut self, src: InFile<&SyntaxNode>) -> Option<ChildContainer> { - for container in src.cloned().ancestors_with_macros_skip_attr_item(self.db.upcast()).skip(1) - { + for container in src.ancestors_with_macros_skip_attr_item(self.db.upcast()).skip(1) { if let Some(res) = self.container_to_def(container) { return Some(res); } @@ -398,8 +395,7 @@ impl SourceToDefCtx<'_, '_> { } fn find_generic_param_container(&mut self, src: InFile<&SyntaxNode>) -> Option<GenericDefId> { - for container in src.cloned().ancestors_with_macros_skip_attr_item(self.db.upcast()).skip(1) - { + for container in src.ancestors_with_macros_skip_attr_item(self.db.upcast()).skip(1) { let res: GenericDefId = match_ast! { match (container.value) { ast::Fn(it) => self.fn_to_def(container.with_value(it))?.into(), @@ -417,8 +413,7 @@ impl SourceToDefCtx<'_, '_> { } fn find_pat_or_label_container(&mut self, src: InFile<&SyntaxNode>) -> Option<DefWithBodyId> { - for container in src.cloned().ancestors_with_macros_skip_attr_item(self.db.upcast()).skip(1) - { + for container in src.ancestors_with_macros_skip_attr_item(self.db.upcast()).skip(1) { let res: DefWithBodyId = match_ast! { match (container.value) { ast::Const(it) => self.const_to_def(container.with_value(it))?.into(), |