Make .rmeta
file in dep-info
have correct name (lib
prefix)
Since `filename_for_metadata()` and `OutputFilenames::path(OutputType::Metadata)` had different logic for the name of the metadata file, the `.d` file contained a file name different from the actual name used. Share the logic to fix the out-of-sync name. Closes 68839.
This commit is contained in:
parent
e286f25ec0
commit
04d81ba153
7 changed files with 49 additions and 28 deletions
|
@ -5,7 +5,6 @@ use crate::errors::{
|
|||
use crate::{encode_metadata, EncodedMetadata};
|
||||
|
||||
use rustc_data_structures::temp_dir::MaybeTempDir;
|
||||
use rustc_hir::def_id::LOCAL_CRATE;
|
||||
use rustc_middle::ty::TyCtxt;
|
||||
use rustc_session::config::{OutFileName, OutputType};
|
||||
use rustc_session::output::filename_for_metadata;
|
||||
|
@ -40,8 +39,7 @@ pub fn emit_wrapper_file(
|
|||
}
|
||||
|
||||
pub fn encode_and_write_metadata(tcx: TyCtxt<'_>) -> (EncodedMetadata, bool) {
|
||||
let crate_name = tcx.crate_name(LOCAL_CRATE);
|
||||
let out_filename = filename_for_metadata(tcx.sess, crate_name, tcx.output_filenames(()));
|
||||
let out_filename = filename_for_metadata(tcx.sess, tcx.output_filenames(()));
|
||||
// To avoid races with another rustc process scanning the output directory,
|
||||
// we need to write the file somewhere else and atomically move it to its
|
||||
// final destination, with an `fs::rename` call. In order for the rename to
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue