diff --git a/src/librustc_incremental/persist/save.rs b/src/librustc_incremental/persist/save.rs index 40191cf758d..868f2ee4244 100644 --- a/src/librustc_incremental/persist/save.rs +++ b/src/librustc_incremental/persist/save.rs @@ -10,6 +10,7 @@ use rbml::opaque::Encoder; use rustc::dep_graph::DepNode; +use rustc::middle::cstore::LOCAL_CRATE; use rustc::ty::TyCtxt; use rustc_serialize::{Encodable as RustcEncodable}; use std::hash::{Hasher, SipHasher}; @@ -25,7 +26,7 @@ pub fn save_dep_graph<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>) { let _ignore = tcx.dep_graph.in_ignore(); save_in(tcx, dep_graph_path(tcx), encode_dep_graph); - save_in(tcx, metadata_hash_path(tcx), encode_metadata_hashes); + save_in(tcx, metadata_hash_path(tcx, LOCAL_CRATE), encode_metadata_hashes); } fn save_in<'a,'tcx,F>(tcx: TyCtxt<'a, 'tcx, 'tcx>, opt_path_buf: Option, encode: F) diff --git a/src/librustc_incremental/persist/util.rs b/src/librustc_incremental/persist/util.rs index 8a345583123..7acfdb5fffe 100644 --- a/src/librustc_incremental/persist/util.rs +++ b/src/librustc_incremental/persist/util.rs @@ -16,17 +16,18 @@ use rustc::ty::TyCtxt; use std::fs; use std::io; -use std::path::{PathBuf, Path}; +use std::path::{Path, PathBuf}; +use syntax::ast; pub fn dep_graph_path(tcx: TyCtxt) -> Option { - path(tcx, "local") + path(tcx, LOCAL_CRATE, "local") } -pub fn metadata_hash_path(tcx: TyCtxt) -> Option { - path(tcx, "metadata") +pub fn metadata_hash_path(tcx: TyCtxt, cnum: ast::CrateNum) -> Option { + path(tcx, cnum, "metadata") } -fn path(tcx: TyCtxt, suffix: &str) -> Option { +fn path(tcx: TyCtxt, cnum: ast::CrateNum, suffix: &str) -> Option { // For now, just save/load dep-graph from // directory/dep_graph.rbml tcx.sess.opts.incremental.as_ref().and_then(|incr_dir| { @@ -40,8 +41,8 @@ fn path(tcx: TyCtxt, suffix: &str) -> Option { } } - let crate_name = tcx.crate_name(LOCAL_CRATE); - let crate_disambiguator = tcx.crate_disambiguator(LOCAL_CRATE); + let crate_name = tcx.crate_name(cnum); + let crate_disambiguator = tcx.crate_disambiguator(cnum); let file_name = format!("{}-{}.{}.bin", crate_name, crate_disambiguator,