}
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();
}
}
}
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();
}