aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--crates/hir_def/src/test_db.rs12
1 files changed, 3 insertions, 9 deletions
diff --git a/crates/hir_def/src/test_db.rs b/crates/hir_def/src/test_db.rs
index 59c788b18..f8b150850 100644
--- a/crates/hir_def/src/test_db.rs
+++ b/crates/hir_def/src/test_db.rs
@@ -158,17 +158,11 @@ impl TestDB {
158 let src = d.display_source(); 158 let src = d.display_source();
159 let root = db.parse_or_expand(src.file_id).unwrap(); 159 let root = db.parse_or_expand(src.file_id).unwrap();
160 160
161 // Place all diagnostics emitted in macro files on the original caller. 161 let node = src.map(|ptr| ptr.to_node(&root));
162 // Note that this does *not* match IDE behavior. 162 let frange = node.as_ref().original_file_range(db);
163 let mut src = src.map(|ptr| ptr.to_node(&root));
164 while let Some(exp) = src.file_id.call_node(db) {
165 src = exp;
166 }
167 163
168 let file_id = src.file_id.original_file(db);
169 let range = src.value.text_range();
170 let message = d.message().to_owned(); 164 let message = d.message().to_owned();
171 actual.entry(file_id).or_default().push((range, message)); 165 actual.entry(frange.file_id).or_default().push((frange.range, message));
172 }); 166 });
173 167
174 for (file_id, diags) in actual.iter_mut() { 168 for (file_id, diags) in actual.iter_mut() {