about summary refs log tree commit diff
path: root/src/librustc/session/mod.rs
diff options
context:
space:
mode:
authorMichael Woerister <michaelwoerister@posteo>2018-07-10 19:16:22 +0200
committerMichael Woerister <michaelwoerister@posteo>2018-07-11 17:52:57 +0200
commit2c5cd9ce53d2d25041db0cb02b40ba460ffa8908 (patch)
tree6a035b3951c42c1d37d1948bc497704a002b73e2 /src/librustc/session/mod.rs
parent8dc7ddb9763f28b83de7bf3b3025f8042ea9e830 (diff)
downloadrust-2c5cd9ce53d2d25041db0cb02b40ba460ffa8908.tar.gz
rust-2c5cd9ce53d2d25041db0cb02b40ba460ffa8908.zip
Clean up CodegenUnit name generation.
Diffstat (limited to 'src/librustc/session/mod.rs')
-rw-r--r--src/librustc/session/mod.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/librustc/session/mod.rs b/src/librustc/session/mod.rs
index ad1df0a1348..c28b49756f0 100644
--- a/src/librustc/session/mod.rs
+++ b/src/librustc/session/mod.rs
@@ -26,6 +26,7 @@ use util::nodemap::{FxHashMap, FxHashSet};
 use util::common::{duration_to_secs_str, ErrorReported};
 use util::common::ProfileQueriesMsg;
 
+use rustc_data_structures::base_n;
 use rustc_data_structures::sync::{self, Lrc, Lock, LockCell, OneThread, Once, RwLock};
 
 use syntax::ast::NodeId;
@@ -1185,6 +1186,14 @@ impl CrateDisambiguator {
     }
 }
 
+impl fmt::Display for CrateDisambiguator {
+    fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> {
+        let (a, b) = self.0.as_value();
+        let as_u128 = a as u128 | ((b as u128) << 64);
+        f.write_str(&base_n::encode(as_u128, base_n::CASE_INSENSITIVE))
+    }
+}
+
 impl From<Fingerprint> for CrateDisambiguator {
     fn from(fingerprint: Fingerprint) -> CrateDisambiguator {
         CrateDisambiguator(fingerprint)