about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--crates/ra_ide/src/references.rs7
1 files changed, 3 insertions, 4 deletions
diff --git a/crates/ra_ide/src/references.rs b/crates/ra_ide/src/references.rs
index bc241fb5a5d..de924fad27c 100644
--- a/crates/ra_ide/src/references.rs
+++ b/crates/ra_ide/src/references.rs
@@ -211,10 +211,9 @@ fn process_definition(
                     TokenAtOffset::Between(_, t) => t,
                 };
                 let range = t.text_range();
-                let analyzer = analyzer.get_or_insert(
-                    sb.analyze(InFile::new(file_id.into(), parse.tree().syntax()), None),
-                );
-
+                let analyzer = analyzer.get_or_insert_with(|| {
+                    sb.analyze(InFile::new(file_id.into(), parse.tree().syntax()), None)
+                });
                 let expanded = descend_into_macros_with_analyzer(
                     db,
                     &analyzer,