about summary refs log tree commit diff
path: root/src/librustc/metadata/decoder.rs
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2015-01-26 14:39:58 -0500
committerNiko Matsakis <niko@alum.mit.edu>2015-01-30 05:57:57 -0500
commita962bdb3daa45da703b8a25fd76e6eebeb97635e (patch)
tree416868d0ca409e4b6bbd5c0bfdbd23ec336aeb4e /src/librustc/metadata/decoder.rs
parent80c793c1d360570837d897a713a64b450f50f028 (diff)
downloadrust-a962bdb3daa45da703b8a25fd76e6eebeb97635e.tar.gz
rust-a962bdb3daa45da703b8a25fd76e6eebeb97635e.zip
Use `#[rustc_paren_sugar]` as a more extensible way of deciding when
paren sugar is legal.
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 933fd873aeb..93ca42e9a28 100644
--- a/src/librustc/metadata/decoder.rs
+++ b/src/librustc/metadata/decoder.rs
@@ -371,6 +371,11 @@ fn parse_unsafety(item_doc: rbml::Doc) -> ast::Unsafety {
     }
 }
 
+fn parse_paren_sugar(item_doc: rbml::Doc) -> bool {
+    let paren_sugar_doc = reader::get_doc(item_doc, tag_paren_sugar);
+    reader::doc_as_u8(paren_sugar_doc) != 0
+}
+
 fn parse_polarity(item_doc: rbml::Doc) -> ast::ImplPolarity {
     let polarity_doc = reader::get_doc(item_doc, tag_polarity);
     if reader::doc_as_u8(polarity_doc) != 0 {
@@ -400,8 +405,10 @@ pub fn get_trait_def<'tcx>(cdata: Cmd,
     let bounds = trait_def_bounds(item_doc, tcx, cdata);
     let unsafety = parse_unsafety(item_doc);
     let associated_type_names = parse_associated_type_names(item_doc);
+    let paren_sugar = parse_paren_sugar(item_doc);
 
     ty::TraitDef {
+        paren_sugar: paren_sugar,
         unsafety: unsafety,
         generics: generics,
         bounds: bounds,