summary refs log tree commit diff
path: root/src/libsyntax
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
parent6b5d1afeec9ca48c224a8c69d1d3515edf9b1108 (diff)
downloadrust-239e64242c2f35b223403be611ad6a25ce8e76c2.tar.gz
rust-239e64242c2f35b223403be611ad6a25ce8e76c2.zip
libsyntax: Stop parsing structural record types
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/codemap.rs8
-rw-r--r--src/libsyntax/parse/obsolete.rs5
-rw-r--r--src/libsyntax/parse/parser.rs2
3 files changed, 7 insertions, 8 deletions
diff --git a/src/libsyntax/codemap.rs b/src/libsyntax/codemap.rs
index 232c57eb5a2..1038982d353 100644
--- a/src/libsyntax/codemap.rs
+++ b/src/libsyntax/codemap.rs
@@ -217,7 +217,6 @@ pub struct FileLines {
 pub enum FileSubstr {
     pub FssNone,
     pub FssInternal(span),
-    pub FssExternal({filename: ~str, line: uint, col: CharPos})
 }
 
 /// Identifies an offset of a multi-byte character in a FileMap
@@ -348,12 +347,6 @@ pub impl CodeMap {
             FssInternal(sp) =>
             self.lookup_char_pos_adj(
                 sp.lo + (pos - loc.file.start_pos)),
-            FssExternal(ref eloc) =>
-            LocWithOpt {
-                filename: /* FIXME (#2543) */ copy (*eloc).filename,
-                line: (*eloc).line + loc.line - 1u,
-                col: if loc.line == 1 {eloc.col + loc.col} else {loc.col},
-                file: None}
         }
     }
 
@@ -368,7 +361,6 @@ pub impl CodeMap {
                     expn_info: sp.expn_info
                 })
             }
-            FssExternal(_) => sp
         }
     }
 
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);