diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2013-07-09 19:32:09 -0700 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2013-07-17 14:57:52 -0700 |
| commit | 99d44d24c7744361b352499b5f54b8f0bab876ec (patch) | |
| tree | d5766f1013555590b261546af0bf9b99e766d6dc /src/libsyntax/parse | |
| parent | 99b33f721954bc5290f9201c8f64003c294d0571 (diff) | |
| download | rust-99d44d24c7744361b352499b5f54b8f0bab876ec.tar.gz rust-99d44d24c7744361b352499b5f54b8f0bab876ec.zip | |
librustc: Remove `copy` expressions from the language.
Diffstat (limited to 'src/libsyntax/parse')
| -rw-r--r-- | src/libsyntax/parse/obsolete.rs | 5 | ||||
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 13 | ||||
| -rw-r--r-- | src/libsyntax/parse/token.rs | 2 |
3 files changed, 2 insertions, 18 deletions
diff --git a/src/libsyntax/parse/obsolete.rs b/src/libsyntax/parse/obsolete.rs index 148fca36ed2..b014c5668b6 100644 --- a/src/libsyntax/parse/obsolete.rs +++ b/src/libsyntax/parse/obsolete.rs @@ -63,7 +63,6 @@ pub enum ObsoleteSyntax { ObsoleteNamedExternModule, ObsoleteMultipleLocalDecl, ObsoleteMutWithMultipleBindings, - ObsoletePatternCopyKeyword, } impl to_bytes::IterBytes for ObsoleteSyntax { @@ -249,10 +248,6 @@ impl ParserObsoleteMethods for Parser { "use multiple local declarations instead of e.g. `let mut \ (x, y) = ...`." ), - ObsoletePatternCopyKeyword => ( - "`copy` in patterns", - "`copy` in patterns no longer has any effect" - ), }; self.report(sp, kind, kind_str, desc); diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index c67b2aefb63..f0b9258eaeb 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -22,7 +22,7 @@ use ast::{crate, crate_cfg, decl, decl_item}; use ast::{decl_local, default_blk, deref, div, enum_def, explicit_self}; use ast::{expr, expr_, expr_addr_of, expr_match, expr_again}; use ast::{expr_assign, expr_assign_op, expr_binary, expr_block}; -use ast::{expr_break, expr_call, expr_cast, expr_copy, expr_do_body}; +use ast::{expr_break, expr_call, expr_cast, expr_do_body}; use ast::{expr_field, expr_fn_block, expr_if, expr_index}; use ast::{expr_lit, expr_log, expr_loop, expr_loop_body, expr_mac}; use ast::{expr_method_call, expr_paren, expr_path, expr_repeat}; @@ -84,7 +84,7 @@ use parse::obsolete::{ObsoletePurity, ObsoleteStaticMethod}; use parse::obsolete::{ObsoleteConstItem, ObsoleteFixedLengthVectorType}; use parse::obsolete::{ObsoleteNamedExternModule, ObsoleteMultipleLocalDecl}; use parse::obsolete::{ObsoleteMutWithMultipleBindings}; -use parse::obsolete::{ObsoletePatternCopyKeyword, ParserObsoleteMethods}; +use parse::obsolete::{ParserObsoleteMethods}; use parse::token::{can_begin_expr, get_ident_interner, ident_to_str, is_ident}; use parse::token::{is_ident_or_path}; use parse::token::{is_plain_ident, INTERPOLATED, keywords, special_idents}; @@ -1704,11 +1704,6 @@ impl Parser { ex = expr_break(None); } hi = self.span.hi; - } else if self.eat_keyword(keywords::Copy) { - // COPY expression - let e = self.parse_expr(); - ex = expr_copy(e); - hi = e.span.hi; } else if *self.token == token::MOD_SEP || is_ident(&*self.token) && !self.is_keyword(keywords::True) && !self.is_keyword(keywords::False) { @@ -2799,10 +2794,6 @@ impl Parser { // parse ref pat let mutbl = self.parse_mutability(); pat = self.parse_pat_ident(bind_by_ref(mutbl)); - } else if self.eat_keyword(keywords::Copy) { - // parse copy pat - self.obsolete(*self.span, ObsoletePatternCopyKeyword); - pat = self.parse_pat_ident(bind_infer); } else { let can_be_enum_or_struct = do self.look_ahead(1) |t| { match *t { diff --git a/src/libsyntax/parse/token.rs b/src/libsyntax/parse/token.rs index 8e14e56439e..754b7268a4a 100644 --- a/src/libsyntax/parse/token.rs +++ b/src/libsyntax/parse/token.rs @@ -566,7 +566,6 @@ pub mod keywords { As, Break, Const, - Copy, Do, Else, Enum, @@ -609,7 +608,6 @@ pub mod keywords { As => ident { name: 32, ctxt: 0 }, Break => ident { name: 33, ctxt: 0 }, Const => ident { name: 34, ctxt: 0 }, - Copy => ident { name: 35, ctxt: 0 }, Do => ident { name: 36, ctxt: 0 }, Else => ident { name: 37, ctxt: 0 }, Enum => ident { name: 38, ctxt: 0 }, |
