about summary refs log tree commit diff
path: root/src/librustc_metadata/decoder.rs
diff options
context:
space:
mode:
authorMichael Woerister <michaelwoerister@posteo.net>2016-02-12 08:41:30 -0500
committerNiko Matsakis <niko@alum.mit.edu>2016-03-25 14:07:17 -0400
commit32a2e9a8e15ee93dbd663fa3849604979df1142f (patch)
treefb7c676c70ad3f86bce94d8add5b7daafaad10e7 /src/librustc_metadata/decoder.rs
parentc7e54d72792d49961930d13e854c8748eee1cd82 (diff)
downloadrust-32a2e9a8e15ee93dbd663fa3849604979df1142f.tar.gz
rust-32a2e9a8e15ee93dbd663fa3849604979df1142f.zip
Compute a salt from arguments passed via -Cmetadata.
Diffstat (limited to 'src/librustc_metadata/decoder.rs')
-rw-r--r--src/librustc_metadata/decoder.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/librustc_metadata/decoder.rs b/src/librustc_metadata/decoder.rs
index 0c736feeefe..f24c489b7c2 100644
--- a/src/librustc_metadata/decoder.rs
+++ b/src/librustc_metadata/decoder.rs
@@ -1295,6 +1295,13 @@ pub fn maybe_get_crate_name(data: &[u8]) -> Option<String> {
     })
 }
 
+pub fn get_crate_disambiguator<'a>(data: &'a [u8]) -> &'a str {
+    let crate_doc = rbml::Doc::new(data);
+    let salt_doc = reader::get_doc(crate_doc, tag_crate_disambiguator);
+    let slice: &'a str = salt_doc.as_str_slice();
+    slice
+}
+
 pub fn get_crate_triple(data: &[u8]) -> Option<String> {
     let cratedoc = rbml::Doc::new(data);
     let triple_doc = reader::maybe_get_doc(cratedoc, tag_crate_triple);