diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2013-03-05 18:38:52 -0800 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2013-03-07 22:37:03 -0800 |
| commit | 0ea031bcb8c237365b8bf15ae474972570cf15f9 (patch) | |
| tree | 8d022c7d9aaa0cb1f943fe7c3b7acd9750a7c08a /src/libsyntax/parse | |
| parent | 954ae9c975cebb7186dfc1182a68d2559bdef4bd (diff) | |
| download | rust-0ea031bcb8c237365b8bf15ae474972570cf15f9.tar.gz rust-0ea031bcb8c237365b8bf15ae474972570cf15f9.zip | |
librustc: Remove record patterns from the compiler
Diffstat (limited to 'src/libsyntax/parse')
| -rw-r--r-- | src/libsyntax/parse/obsolete.rs | 5 | ||||
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 11 |
2 files changed, 11 insertions, 5 deletions
diff --git a/src/libsyntax/parse/obsolete.rs b/src/libsyntax/parse/obsolete.rs index dbb44858761..4e1b34bb299 100644 --- a/src/libsyntax/parse/obsolete.rs +++ b/src/libsyntax/parse/obsolete.rs @@ -50,6 +50,7 @@ pub enum ObsoleteSyntax { ObsoleteMutVector, ObsoleteTraitImplVisibility, ObsoleteRecordType, + ObsoleteRecordPattern, } impl to_bytes::IterBytes for ObsoleteSyntax { @@ -150,6 +151,10 @@ pub impl Parser { "structural record type", "use a structure instead" ), + ObsoleteRecordPattern => ( + "structural record pattern", + "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 498b6f3ca70..2a113c44612 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -40,8 +40,8 @@ use ast::{lit_int_unsuffixed, lit_nil, lit_str, lit_uint, local, m_const}; use ast::{m_imm, m_mutbl, mac_, mac_invoc_tt, matcher, match_nonterminal}; use ast::{match_seq, match_tok, method, mode, module_ns, mt, mul, mutability}; use ast::{named_field, neg, node_id, noreturn, not, pat, pat_box, pat_enum}; -use ast::{pat_ident, pat_lit, pat_range, pat_rec, pat_region, pat_struct}; -use ast::{pat_tup, pat_uniq, pat_wild, path, private}; +use ast::{pat_ident, pat_lit, pat_range, pat_region, pat_struct, pat_tup}; +use ast::{pat_uniq, pat_wild, path, private}; use ast::{re_self, re_anon, re_named, region, rem, required}; use ast::{ret_style, return_val, self_ty, shl, shr, stmt, stmt_decl}; use ast::{stmt_expr, stmt_semi, stmt_mac, struct_def, struct_field}; @@ -75,7 +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::obsolete::{ObsoleteRecordType, ObsoleteRecordPattern}; 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}; @@ -2192,10 +2192,11 @@ pub impl Parser { } token::LBRACE => { self.bump(); - let (fields, etc) = self.parse_pat_fields(refutable); + let (_, _) = self.parse_pat_fields(refutable); hi = self.span.hi; self.bump(); - pat = pat_rec(fields, etc); + self.obsolete(*self.span, ObsoleteRecordPattern); + pat = pat_wild; } token::LPAREN => { self.bump(); |
