about summary refs log tree commit diff
diff options
context:
space:
mode:
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>2022-11-22 19:19:40 +0300
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>2022-11-22 20:43:48 +0300
commitf3b5791a47eea13cb1d3fec644fc0c6ea9c37c96 (patch)
treed1eb0a3d788d4c950a691c7140264c3ba2759687
parent66ccf36f161f67b121290e2af2517ead7e695d3b (diff)
downloadrust-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.rs12
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);
+            }
         }
     }