diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2013-03-05 17:36:59 -0800 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2013-03-07 22:32:52 -0800 |
| commit | 239e64242c2f35b223403be611ad6a25ce8e76c2 (patch) | |
| tree | 47ae76e07c8e2bb28f6ddf2695881a0b90424325 /src/libsyntax | |
| parent | 6b5d1afeec9ca48c224a8c69d1d3515edf9b1108 (diff) | |
| download | rust-239e64242c2f35b223403be611ad6a25ce8e76c2.tar.gz rust-239e64242c2f35b223403be611ad6a25ce8e76c2.zip | |
libsyntax: Stop parsing structural record types
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/codemap.rs | 8 | ||||
| -rw-r--r-- | src/libsyntax/parse/obsolete.rs | 5 | ||||
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 2 |
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); |
