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 | |
| parent | 99b33f721954bc5290f9201c8f64003c294d0571 (diff) | |
| download | rust-99d44d24c7744361b352499b5f54b8f0bab876ec.tar.gz rust-99d44d24c7744361b352499b5f54b8f0bab876ec.zip | |
librustc: Remove `copy` expressions from the language.
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/ast.rs | 1 | ||||
| -rw-r--r-- | src/libsyntax/ext/build.rs | 4 | ||||
| -rw-r--r-- | src/libsyntax/fold.rs | 1 | ||||
| -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 | ||||
| -rw-r--r-- | src/libsyntax/print/pprust.rs | 1 | ||||
| -rw-r--r-- | src/libsyntax/visit.rs | 1 |
8 files changed, 2 insertions, 26 deletions
diff --git a/src/libsyntax/ast.rs b/src/libsyntax/ast.rs index 38f0b2496cb..7dafa5c7dad 100644 --- a/src/libsyntax/ast.rs +++ b/src/libsyntax/ast.rs @@ -455,7 +455,6 @@ pub enum expr_ { expr_do_body(@expr), expr_block(blk), - expr_copy(@expr), expr_assign(@expr, @expr), expr_assign_op(node_id, binop, @expr, @expr), expr_field(@expr, ident, ~[Ty]), diff --git a/src/libsyntax/ext/build.rs b/src/libsyntax/ext/build.rs index 334721a38ed..59754f5519e 100644 --- a/src/libsyntax/ext/build.rs +++ b/src/libsyntax/ext/build.rs @@ -94,7 +94,6 @@ pub trait AstBuilder { fn expr_deref(&self, sp: span, e: @ast::expr) -> @ast::expr; fn expr_unary(&self, sp: span, op: ast::unop, e: @ast::expr) -> @ast::expr; - fn expr_copy(&self, sp: span, e: @ast::expr) -> @ast::expr; fn expr_managed(&self, sp: span, e: @ast::expr) -> @ast::expr; fn expr_addr_of(&self, sp: span, e: @ast::expr) -> @ast::expr; fn expr_mut_addr_of(&self, sp: span, e: @ast::expr) -> @ast::expr; @@ -442,9 +441,6 @@ impl AstBuilder for @ExtCtxt { self.expr(sp, ast::expr_unary(self.next_id(), op, e)) } - fn expr_copy(&self, sp: span, e: @ast::expr) -> @ast::expr { - self.expr(sp, ast::expr_copy(e)) - } fn expr_managed(&self, sp: span, e: @ast::expr) -> @ast::expr { self.expr_unary(sp, ast::box(ast::m_imm), e) } diff --git a/src/libsyntax/fold.rs b/src/libsyntax/fold.rs index b831bb18643..a9e8fa10c64 100644 --- a/src/libsyntax/fold.rs +++ b/src/libsyntax/fold.rs @@ -580,7 +580,6 @@ pub fn noop_fold_expr(e: &expr_, fld: @ast_fold) -> expr_ { ) } expr_block(ref blk) => expr_block(fld.fold_block(blk)), - expr_copy(e) => expr_copy(fld.fold_expr(e)), expr_assign(el, er) => { expr_assign(fld.fold_expr(el), fld.fold_expr(er)) } 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 }, diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index 2f0241967d9..f1412994865 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -1344,7 +1344,6 @@ pub fn print_expr(s: @ps, expr: &ast::expr) { ibox(s, 0u); print_block(s, blk); } - ast::expr_copy(e) => { word_space(s, "copy"); print_expr(s, e); } ast::expr_assign(lhs, rhs) => { print_expr(s, lhs); space(s.s); diff --git a/src/libsyntax/visit.rs b/src/libsyntax/visit.rs index d68958ffa77..f57dcb1588e 100644 --- a/src/libsyntax/visit.rs +++ b/src/libsyntax/visit.rs @@ -532,7 +532,6 @@ pub fn visit_expr<E:Clone>(ex: @expr, (e, v): (E, vt<E>)) { (v.visit_expr)(b, (e.clone(), v)); (v.visit_expr)(a, (e.clone(), v)); } - expr_copy(a) => (v.visit_expr)(a, (e.clone(), v)), expr_assign_op(_, _, a, b) => { (v.visit_expr)(b, (e.clone(), v)); (v.visit_expr)(a, (e.clone(), v)); |
