diff options
| author | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2022-11-22 19:19:40 +0300 |
|---|---|---|
| committer | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2022-11-22 20:43:48 +0300 |
| commit | f3b5791a47eea13cb1d3fec644fc0c6ea9c37c96 (patch) | |
| tree | d1eb0a3d788d4c950a691c7140264c3ba2759687 | |
| parent | 66ccf36f161f67b121290e2af2517ead7e695d3b (diff) | |
| download | rust-f3b5791a47eea13cb1d3fec644fc0c6ea9c37c96.tar.gz rust-f3b5791a47eea13cb1d3fec644fc0c6ea9c37c96.zip | |
rustc_metadata: Do not encode empty reexport lists
This is more a cleanup than optimization
| -rw-r--r-- | compiler/rustc_metadata/src/rmeta/encoder.rs | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/compiler/rustc_metadata/src/rmeta/encoder.rs b/compiler/rustc_metadata/src/rmeta/encoder.rs index af4be12fe3a..c3c3681c26e 100644 --- a/compiler/rustc_metadata/src/rmeta/encoder.rs +++ b/compiler/rustc_metadata/src/rmeta/encoder.rs @@ -1267,13 +1267,6 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> { // the crate root for consistency with other crates (some of the resolver // code uses it). However, we skip encoding anything relating to child // items - we encode information about proc-macros later on. - let reexports = if !self.is_proc_macro { - tcx.module_reexports(local_def_id).unwrap_or(&[]) - } else { - &[] - }; - - record_array!(self.tables.module_reexports[def_id] <- reexports); if self.is_proc_macro { // Encode this here because we don't do it in encode_def_ids. record!(self.tables.expn_that_defined[def_id] <- tcx.expn_that_defined(local_def_id)); @@ -1305,6 +1298,11 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> { } } })); + + if let Some(reexports) = tcx.module_reexports(local_def_id) { + assert!(!reexports.is_empty()); + record_array!(self.tables.module_reexports[def_id] <- reexports); + } } } |
