mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-27 04:19:13 +00:00
feat: improve performance by delaying computation of fixes for diagnostics
This commit is contained in:
parent
04b5fcfdb2
commit
06a633ff42
7 changed files with 74 additions and 40 deletions
|
@ -526,9 +526,10 @@ impl Analysis {
|
|||
pub fn diagnostics(
|
||||
&self,
|
||||
config: &DiagnosticsConfig,
|
||||
resolve: bool,
|
||||
file_id: FileId,
|
||||
) -> Cancelable<Vec<Diagnostic>> {
|
||||
self.with_db(|db| diagnostics::diagnostics(db, config, file_id))
|
||||
self.with_db(|db| diagnostics::diagnostics(db, config, resolve, file_id))
|
||||
}
|
||||
|
||||
/// Convenience function to return assists + quick fixes for diagnostics
|
||||
|
@ -550,9 +551,10 @@ impl Analysis {
|
|||
|
||||
if include_fixes {
|
||||
res.extend(
|
||||
diagnostics::diagnostics(db, diagnostics_config, frange.file_id)
|
||||
diagnostics::diagnostics(db, diagnostics_config, resolve, frange.file_id)
|
||||
.into_iter()
|
||||
.filter_map(|it| it.fix),
|
||||
.filter_map(|it| it.fix)
|
||||
.filter(|it| it.target.intersect(frange.range).is_some()),
|
||||
);
|
||||
}
|
||||
res
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue