8321: Use exhaustive matches in shrink_to_fit impls r=jonas-schievink a=jonas-schievink

bors r+

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
This commit is contained in:
bors[bot] 2021-04-04 00:56:46 +00:00 committed by GitHub
commit 6b43a518e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 38 additions and 13 deletions

View File

@ -287,14 +287,25 @@ impl ItemScope {
}
pub(crate) fn shrink_to_fit(&mut self) {
self.types.shrink_to_fit();
self.values.shrink_to_fit();
self.macros.shrink_to_fit();
self.unresolved.shrink_to_fit();
self.defs.shrink_to_fit();
self.impls.shrink_to_fit();
self.unnamed_trait_imports.shrink_to_fit();
self.legacy_macros.shrink_to_fit();
// Exhaustive match to require handling new fields.
let Self {
types,
values,
macros,
unresolved,
defs,
impls,
unnamed_trait_imports,
legacy_macros,
} = self;
types.shrink_to_fit();
values.shrink_to_fit();
macros.shrink_to_fit();
unresolved.shrink_to_fit();
defs.shrink_to_fit();
impls.shrink_to_fit();
unnamed_trait_imports.shrink_to_fit();
legacy_macros.shrink_to_fit();
}
}

View File

@ -411,11 +411,25 @@ impl DefMap {
}
fn shrink_to_fit(&mut self) {
self.extern_prelude.shrink_to_fit();
self.exported_proc_macros.shrink_to_fit();
self.diagnostics.shrink_to_fit();
self.modules.shrink_to_fit();
for (_, module) in self.modules.iter_mut() {
// Exhaustive match to require handling new fields.
let Self {
_c: _,
exported_proc_macros,
extern_prelude,
diagnostics,
modules,
block: _,
edition: _,
krate: _,
prelude: _,
root: _,
} = self;
extern_prelude.shrink_to_fit();
exported_proc_macros.shrink_to_fit();
diagnostics.shrink_to_fit();
modules.shrink_to_fit();
for (_, module) in modules.iter_mut() {
module.children.shrink_to_fit();
module.scope.shrink_to_fit();
}