Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit bb75c4b

Browse files
committed
call emit_metadata only when metadata_kind is None
1 parent e7f95ac commit bb75c4b

File tree

1 file changed

+6
-3
lines changed
  • compiler/rustc_metadata/src

1 file changed

+6
-3
lines changed

compiler/rustc_metadata/src/fs.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,17 +69,20 @@ pub fn encode_and_write_metadata(
6969
let metadata_tmpdir = MaybeTempDir::new(metadata_tmpdir, tcx.sess.opts.cg.save_temps);
7070
let metadata_filename = metadata_tmpdir.as_ref().join(METADATA_FILENAME);
7171
let metadata = match metadata_kind {
72-
MetadataKind::None => EncodedMetadata::new(),
72+
MetadataKind::None => {
73+
let metadata = EncodedMetadata::new();
74+
let _ = emit_metadata(tcx.sess, metadata.raw_data(), &metadata_tmpdir);
75+
metadata
76+
}
7377
MetadataKind::Uncompressed | MetadataKind::Compressed => {
74-
encode_metadata(tcx, metadata_filename)
78+
encode_metadata(tcx, &metadata_filename)
7579
}
7680
};
7781

7882
let _prof_timer = tcx.sess.prof.generic_activity("write_crate_metadata");
7983

8084
let need_metadata_file = tcx.sess.opts.output_types.contains_key(&OutputType::Metadata);
8185
if need_metadata_file {
82-
let metadata_filename = emit_metadata(tcx.sess, metadata.raw_data(), &metadata_tmpdir);
8386
if let Err(e) = non_durable_rename(&metadata_filename, &out_filename) {
8487
tcx.sess.fatal(&format!("failed to write {}: {}", out_filename.display(), e));
8588
}

0 commit comments

Comments
 (0)