Add Body::shrink_to_fit

This commit is contained in:
Jonas Schievink 2021-04-04 03:26:16 +02:00
parent 4c8ee9a531
commit 1da6d0bed9

View File

@ -302,7 +302,8 @@ impl Body {
}
};
let expander = Expander::new(db, file_id, module);
let (body, source_map) = Body::new(db, expander, params, body);
let (mut body, source_map) = Body::new(db, expander, params, body);
body.shrink_to_fit();
(Arc::new(body), Arc::new(source_map))
}
@ -328,6 +329,15 @@ impl Body {
) -> (Body, BodySourceMap) {
lower::lower(db, expander, params, body)
}
fn shrink_to_fit(&mut self) {
let Self { _c: _, body_expr: _, block_scopes, exprs, labels, params, pats } = self;
block_scopes.shrink_to_fit();
exprs.shrink_to_fit();
labels.shrink_to_fit();
params.shrink_to_fit();
pats.shrink_to_fit();
}
}
impl Index<ExprId> for Body {