summary refs log tree commit diff
path: root/src/librustc_metadata/decoder.rs
diff options
context:
space:
mode:
authorMichael Woerister <michaelwoerister@posteo.net>2017-05-11 16:01:19 +0200
committerMichael Woerister <michaelwoerister@posteo.net>2017-05-15 15:28:28 +0200
commit8da2fe8ed72cc9960f4043867fc55c2b4bc4a3e3 (patch)
treed4bb47bd3744a484078f4b712fce3be859b77ba4 /src/librustc_metadata/decoder.rs
parent77b7df33077aedfe8df903f95165872243f4acd4 (diff)
downloadrust-8da2fe8ed72cc9960f4043867fc55c2b4bc4a3e3.tar.gz
rust-8da2fe8ed72cc9960f4043867fc55c2b4bc4a3e3.zip
Remove interior mutability from TraitDef by turning fields into queries.
Diffstat (limited to 'src/librustc_metadata/decoder.rs')
-rw-r--r--src/librustc_metadata/decoder.rs15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/librustc_metadata/decoder.rs b/src/librustc_metadata/decoder.rs
index 51822474254..941b965d9a4 100644
--- a/src/librustc_metadata/decoder.rs
+++ b/src/librustc_metadata/decoder.rs
@@ -505,16 +505,11 @@ impl<'a, 'tcx> CrateMetadata {
             _ => bug!(),
         };
 
-        let def = ty::TraitDef::new(self.local_def_id(item_id),
-                                    data.unsafety,
-                                    data.paren_sugar,
-                                    self.def_path_table.def_path_hash(item_id));
-
-        if data.has_default_impl {
-            def.record_has_default_impl();
-        }
-
-        def
+        ty::TraitDef::new(self.local_def_id(item_id),
+                          data.unsafety,
+                          data.paren_sugar,
+                          data.has_default_impl,
+                          self.def_path_table.def_path_hash(item_id))
     }
 
     fn get_variant(&self, item: &Entry, index: DefIndex) -> ty::VariantDef {