libsyntax: Get rid of uses of move and don't parse it.

This commit is contained in:
Luqman Aden 2013-02-15 01:15:53 -08:00
parent 99b3c07b4e
commit e244f103c9
14 changed files with 123 additions and 130 deletions

View file

@ -190,8 +190,8 @@ pub fn Parser(sess: parse_sess
let interner = rdr.interner();
Parser {
reader: move rdr,
interner: move interner,
reader: rdr,
interner: interner,
sess: sess,
cfg: cfg,
token: tok0.tok,
@ -1083,9 +1083,6 @@ pub impl Parser {
let e = self.parse_expr();
ex = expr_copy(e);
hi = e.span.hi;
} else if self.eat_keyword(~"move") {
// XXX move keyword is no longer important, remove after snapshot
return self.parse_expr();
} else if self.token == token::MOD_SEP ||
is_ident(self.token) && !self.is_keyword(~"true") &&
!self.is_keyword(~"false") {
@ -1197,7 +1194,7 @@ pub impl Parser {
hi = self.span.hi;
let nd = expr_method_call(e, i, tys, es, NoSugar);
e = self.mk_expr(lo, hi, move nd);
e = self.mk_expr(lo, hi, nd);
}
_ => {
e = self.mk_expr(lo, hi, expr_field(e, i, tys));
@ -2099,10 +2096,6 @@ pub impl Parser {
} else if self.eat_keyword(~"copy") {
pat = self.parse_pat_ident(refutable, bind_by_copy);
} else {
if self.eat_keyword(~"move") {
/* XXX---remove move keyword */
}
// XXX---refutable match bindings should work same as let
let binding_mode =
if refutable {bind_infer} else {bind_by_copy};
@ -2372,7 +2365,7 @@ pub impl Parser {
self.obsolete(copy self.span, ObsoleteUnsafeBlock);
}
self.expect(token::LBRACE);
let {inner: move inner, next: move next} =
let {inner: inner, next: next} =
maybe_parse_inner_attrs_and_next(self, parse_attrs);
return (inner, self.parse_block_tail_(lo, default_blk, next));
}
@ -2397,8 +2390,8 @@ pub impl Parser {
let mut stmts = ~[];
let mut expr = None;
let {attrs_remaining: move attrs_remaining,
view_items: move view_items,
let {attrs_remaining: attrs_remaining,
view_items: view_items,
items: items, _} =
self.parse_items_and_view_items(first_item_attrs,
IMPORTS_AND_ITEMS_ALLOWED, false);
@ -2570,7 +2563,7 @@ pub impl Parser {
}
}
}
return @move bounds;
return @bounds;
}
fn parse_ty_param() -> ty_param {
@ -3083,13 +3076,13 @@ pub impl Parser {
fn parse_mod_items(term: token::Token,
+first_item_attrs: ~[attribute]) -> _mod {
// Shouldn't be any view items since we've already parsed an item attr
let {attrs_remaining: move attrs_remaining,
view_items: move view_items,
let {attrs_remaining: attrs_remaining,
view_items: view_items,
items: starting_items, _} =
self.parse_items_and_view_items(first_item_attrs,
VIEW_ITEMS_AND_ITEMS_ALLOWED,
true);
let mut items: ~[@item] = move starting_items;
let mut items: ~[@item] = starting_items;
let mut first = true;
while self.token != term {
@ -3140,7 +3133,7 @@ pub impl Parser {
self.bump();
// This mod is in an external file. Let's go get it!
let (m, attrs) = self.eval_src_mod(id, outer_attrs, id_span);
(id, m, Some(move attrs))
(id, m, Some(attrs))
} else {
self.push_mod_path(id, outer_attrs);
self.expect(token::LBRACE);
@ -3300,9 +3293,9 @@ pub impl Parser {
fn parse_foreign_item(+attrs: ~[attribute]) -> @foreign_item {
let vis = self.parse_visibility();
if self.is_keyword(~"const") {
self.parse_item_foreign_const(vis, move attrs)
self.parse_item_foreign_const(vis, attrs)
} else {
self.parse_item_foreign_fn( move attrs)
self.parse_item_foreign_fn(attrs)
}
}
@ -3311,15 +3304,15 @@ pub impl Parser {
+first_item_attrs: ~[attribute])
-> foreign_mod {
// Shouldn't be any view items since we've already parsed an item attr
let {attrs_remaining: move attrs_remaining,
view_items: move view_items,
let {attrs_remaining: attrs_remaining,
view_items: view_items,
items: _,
foreign_items: move foreign_items} =
foreign_items: foreign_items} =
self.parse_items_and_view_items(first_item_attrs,
VIEW_ITEMS_AND_FOREIGN_ITEMS_ALLOWED,
true);
let mut items: ~[@foreign_item] = move foreign_items;
let mut items: ~[@foreign_item] = foreign_items;
let mut initial_attrs = attrs_remaining;
while self.token != token::RBRACE {
let attrs = vec::append(initial_attrs,
@ -3329,7 +3322,7 @@ pub impl Parser {
}
ast::foreign_mod {
sort: sort,
abi: move abi,
abi: abi,
view_items: view_items,
items: items
}
@ -3382,14 +3375,14 @@ pub impl Parser {
// extern mod { ... }
if items_allowed && self.eat(token::LBRACE) {
let abi;
match move abi_opt {
Some(move found_abi) => abi = move found_abi,
match abi_opt {
Some(found_abi) => abi = found_abi,
None => abi = special_idents::c_abi,
}
let extra_attrs = self.parse_inner_attrs_and_next();
let m = self.parse_foreign_mod_items(sort,
move abi,
abi,
extra_attrs.next);
self.expect(token::RBRACE);
@ -3513,7 +3506,7 @@ pub impl Parser {
ident = self.parse_ident();
self.expect(token::LBRACE);
let nested_enum_def = self.parse_enum_def(ty_params);
kind = enum_variant_kind(move nested_enum_def);
kind = enum_variant_kind(nested_enum_def);
needs_comma = false;
} else {
ident = self.parse_value_ident();