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-09-12 18:09:49 -0400
committerMichael Woerister <michaelwoerister@posteo.net>2016-09-13 15:22:51 -0400
commit5a881e920ec39c80310ff832867f2ef51168a1de (patch)
tree85c382d05f4f8c697bfbdb6094934d1a0b7854a8 /src/librustc_metadata/decoder.rs
parentc87ba3f1222ba20d491e8ed76a04977283280742 (diff)
downloadrust-5a881e920ec39c80310ff832867f2ef51168a1de.tar.gz
rust-5a881e920ec39c80310ff832867f2ef51168a1de.zip
Make sure that projection bounds in ty::TraitObject are sorted in a way that is stable across compilation sessions and crate boundaries.
Diffstat (limited to 'src/librustc_metadata/decoder.rs')
-rw-r--r--src/librustc_metadata/decoder.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/librustc_metadata/decoder.rs b/src/librustc_metadata/decoder.rs
index d2840fbe4fe..824e892072f 100644
--- a/src/librustc_metadata/decoder.rs
+++ b/src/librustc_metadata/decoder.rs
@@ -385,12 +385,14 @@ pub fn get_trait_def<'a, 'tcx>(cdata: Cmd,
     let unsafety = parse_unsafety(item_doc);
     let associated_type_names = parse_associated_type_names(item_doc);
     let paren_sugar = parse_paren_sugar(item_doc);
+    let def_path = def_path(cdata, item_id);
 
     ty::TraitDef::new(unsafety,
                       paren_sugar,
                       generics,
                       item_trait_ref(item_doc, tcx, cdata),
-                      associated_type_names)
+                      associated_type_names,
+                      def_path.deterministic_hash(tcx))
 }
 
 pub fn get_adt_def<'a, 'tcx>(cdata: Cmd,