diff options
| author | bjorn3 <bjorn3@users.noreply.github.com> | 2021-06-01 16:32:13 +0200 | 
|---|---|---|
| committer | bjorn3 <bjorn3@users.noreply.github.com> | 2021-06-07 10:37:45 +0200 | 
| commit | 8176ab8bc18fdd7d3c2cf7f720c51166364c33a3 (patch) | |
| tree | 474b75784053dd164149e0aafc979b23bb45ba3c /compiler/rustc_middle/src/mir/mono.rs | |
| parent | 6c5b6985fdce0921fe4ac0247fd026355953c1ea (diff) | |
| download | rust-8176ab8bc18fdd7d3c2cf7f720c51166364c33a3.tar.gz rust-8176ab8bc18fdd7d3c2cf7f720c51166364c33a3.zip  | |
Revert "Merge CrateDisambiguator into StableCrateId"
This reverts commit d0ec85d3fb6d322496cb8f4bc1c21e19f23284ad.
Diffstat (limited to 'compiler/rustc_middle/src/mir/mono.rs')
| -rw-r--r-- | compiler/rustc_middle/src/mir/mono.rs | 13 | 
1 files changed, 5 insertions, 8 deletions
diff --git a/compiler/rustc_middle/src/mir/mono.rs b/compiler/rustc_middle/src/mir/mono.rs index c354cdd985b..74650f50a1c 100644 --- a/compiler/rustc_middle/src/mir/mono.rs +++ b/compiler/rustc_middle/src/mir/mono.rs @@ -490,18 +490,15 @@ impl CodegenUnitNameBuilder<'tcx> { // local crate's ID. Otherwise there can be collisions between CGUs // instantiating stuff for upstream crates. let local_crate_id = if cnum != LOCAL_CRATE { - let local_stable_crate_id = tcx.sess.local_stable_crate_id(); - format!( - "-in-{}.{:08x}", - tcx.crate_name(LOCAL_CRATE), - local_stable_crate_id.to_u64() - ) + let local_crate_disambiguator = format!("{}", tcx.crate_disambiguator(LOCAL_CRATE)); + format!("-in-{}.{}", tcx.crate_name(LOCAL_CRATE), &local_crate_disambiguator[0..8]) } else { String::new() }; - let stable_crate_id = tcx.sess.local_stable_crate_id(); - format!("{}.{:08x}{}", tcx.crate_name(cnum), stable_crate_id.to_u64(), local_crate_id) + let crate_disambiguator = tcx.crate_disambiguator(cnum).to_string(); + // Using a shortened disambiguator of about 40 bits + format!("{}.{}{}", tcx.crate_name(cnum), &crate_disambiguator[0..8], local_crate_id) }); write!(cgu_name, "{}", crate_prefix).unwrap();  | 
