about summary refs log tree commit diff
path: root/src/libsyntax/parse
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2013-03-05 17:36:59 -0800
committerPatrick Walton <pcwalton@mimiga.net>2013-03-07 22:32:52 -0800
commit239e64242c2f35b223403be611ad6a25ce8e76c2 (patch)
tree47ae76e07c8e2bb28f6ddf2695881a0b90424325 /src/libsyntax/parse
parent6b5d1afeec9ca48c224a8c69d1d3515edf9b1108 (diff)
downloadrust-239e64242c2f35b223403be611ad6a25ce8e76c2.tar.gz
rust-239e64242c2f35b223403be611ad6a25ce8e76c2.zip
libsyntax: Stop parsing structural record types
Diffstat (limited to 'src/libsyntax/parse')
-rw-r--r--src/libsyntax/parse/obsolete.rs5
-rw-r--r--src/libsyntax/parse/parser.rs2
2 files changed, 7 insertions, 0 deletions
diff --git a/src/libsyntax/parse/obsolete.rs b/src/libsyntax/parse/obsolete.rs
index 93d3d952cdd..dbb44858761 100644
--- a/src/libsyntax/parse/obsolete.rs
+++ b/src/libsyntax/parse/obsolete.rs
@@ -49,6 +49,7 @@ pub enum ObsoleteSyntax {
     ObsoleteMutOwnedPointer,
     ObsoleteMutVector,
     ObsoleteTraitImplVisibility,
+    ObsoleteRecordType,
 }
 
 impl to_bytes::IterBytes for ObsoleteSyntax {
@@ -145,6 +146,10 @@ pub impl Parser {
                  because the `impl...for...` form defines overloads for \
                  methods that already exist; remove the `pub` or `priv`"
             ),
+            ObsoleteRecordType => (
+                "structural record type",
+                "use a structure instead"
+            ),
         };
 
         self.report(sp, kind, kind_str, desc);
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index eb9831cd9f3..cb4a2ce6920 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -75,6 +75,7 @@ use parse::obsolete::{ObsoleteSyntax, ObsoleteLowerCaseKindBounds};
 use parse::obsolete::{ObsoleteUnsafeBlock, ObsoleteImplSyntax};
 use parse::obsolete::{ObsoleteTraitBoundSeparator, ObsoleteMutOwnedPointer};
 use parse::obsolete::{ObsoleteMutVector, ObsoleteTraitImplVisibility};
+use parse::obsolete::{ObsoleteRecordType};
 use parse::prec::{as_prec, token_to_binop};
 use parse::token::{can_begin_expr, is_ident, is_ident_or_path};
 use parse::token::{is_plain_ident, INTERPOLATED, special_idents};
@@ -657,6 +658,7 @@ pub impl Parser {
             if elems.len() == 0 {
                 self.unexpected_last(&token::RBRACE);
             }
+            self.obsolete(*self.last_span, ObsoleteRecordType);
             ty_rec(elems)
         } else if *self.token == token::LBRACKET {
             self.expect(&token::LBRACKET);