mirror of
https://github.com/rust-lang/rust-analyzer
synced 2025-01-01 07:48:45 +00:00
Auto merge of #15586 - Veykril:shrink, r=Veykril
shrink_to_fit body source map
This commit is contained in:
commit
994df3d6a3
2 changed files with 28 additions and 2 deletions
|
@ -166,9 +166,10 @@ impl Body {
|
||||||
};
|
};
|
||||||
let module = def.module(db);
|
let module = def.module(db);
|
||||||
let expander = Expander::new(db, file_id, module);
|
let expander = Expander::new(db, file_id, module);
|
||||||
let (mut body, source_map) =
|
let (mut body, mut source_map) =
|
||||||
Body::new(db, def, expander, params, body, module.krate, is_async_fn);
|
Body::new(db, def, expander, params, body, module.krate, is_async_fn);
|
||||||
body.shrink_to_fit();
|
body.shrink_to_fit();
|
||||||
|
source_map.shrink_to_fit();
|
||||||
|
|
||||||
(Arc::new(body), Arc::new(source_map))
|
(Arc::new(body), Arc::new(source_map))
|
||||||
}
|
}
|
||||||
|
@ -390,4 +391,29 @@ impl BodySourceMap {
|
||||||
pub fn diagnostics(&self) -> &[BodyDiagnostic] {
|
pub fn diagnostics(&self) -> &[BodyDiagnostic] {
|
||||||
&self.diagnostics
|
&self.diagnostics
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn shrink_to_fit(&mut self) {
|
||||||
|
let Self {
|
||||||
|
expr_map,
|
||||||
|
expr_map_back,
|
||||||
|
pat_map,
|
||||||
|
pat_map_back,
|
||||||
|
label_map,
|
||||||
|
label_map_back,
|
||||||
|
field_map_back,
|
||||||
|
pat_field_map_back,
|
||||||
|
expansions,
|
||||||
|
diagnostics,
|
||||||
|
} = self;
|
||||||
|
expr_map.shrink_to_fit();
|
||||||
|
expr_map_back.shrink_to_fit();
|
||||||
|
pat_map.shrink_to_fit();
|
||||||
|
pat_map_back.shrink_to_fit();
|
||||||
|
label_map.shrink_to_fit();
|
||||||
|
label_map_back.shrink_to_fit();
|
||||||
|
field_map_back.shrink_to_fit();
|
||||||
|
pat_field_map_back.shrink_to_fit();
|
||||||
|
expansions.shrink_to_fit();
|
||||||
|
diagnostics.shrink_to_fit();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -175,7 +175,7 @@ fn collect_import_map(db: &dyn DefDatabase, krate: CrateId) -> FxIndexMap<ItemIn
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
map.shrink_to_fit();
|
||||||
map
|
map
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue