Merge pull request #20497 from ChayimFriedman2/symbols-attach2
Some checks are pending
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
metrics / generate_final_metrics (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run

Attach the DB when mapping the result of `world_symbols()`
This commit is contained in:
Chayim Refael Friedman 2025-08-21 05:25:40 +00:00 committed by GitHub
commit a161fd6bc1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -481,12 +481,15 @@ impl Analysis {
// `world_symbols` currently clones the database to run stuff in parallel, which will make any query panic // `world_symbols` currently clones the database to run stuff in parallel, which will make any query panic
// if we were to attach it here. // if we were to attach it here.
Cancelled::catch(|| { Cancelled::catch(|| {
symbol_index::world_symbols(&self.db, query) let symbols = symbol_index::world_symbols(&self.db, query);
.into_iter() salsa::attach(&self.db, || {
.filter_map(|s| s.try_to_nav(&self.db)) symbols
.take(limit) .into_iter()
.map(UpmappingResult::call_site) .filter_map(|s| s.try_to_nav(&self.db))
.collect::<Vec<_>>() .take(limit)
.map(UpmappingResult::call_site)
.collect::<Vec<_>>()
})
}) })
} }