Make all moves explicit in libsyntax
This commit is contained in:
parent
6957af770b
commit
f8b3eaae82
13 changed files with 42 additions and 39 deletions
|
@ -255,8 +255,8 @@ fn parse(sess: parse_sess, cfg: ast::crate_cfg, rdr: reader, ms: ~[matcher])
|
|||
sp.hi)));
|
||||
}
|
||||
|
||||
new_pos.idx += 1u;
|
||||
vec::push(cur_eis, new_pos);
|
||||
new_pos.idx += 1;
|
||||
vec::push(cur_eis, move new_pos);
|
||||
}
|
||||
|
||||
// can we go around again?
|
||||
|
@ -266,18 +266,18 @@ fn parse(sess: parse_sess, cfg: ast::crate_cfg, rdr: reader, ms: ~[matcher])
|
|||
Some(t) if idx == len => { // we need a separator
|
||||
if tok == t { //pass the separator
|
||||
let ei_t <- ei;
|
||||
ei_t.idx += 1u;
|
||||
vec::push(next_eis, ei_t);
|
||||
ei_t.idx += 1;
|
||||
vec::push(next_eis, move ei_t);
|
||||
}
|
||||
}
|
||||
_ => { // we don't need a separator
|
||||
let ei_t <- ei;
|
||||
ei_t.idx = 0u;
|
||||
vec::push(cur_eis, ei_t);
|
||||
ei_t.idx = 0;
|
||||
vec::push(cur_eis, move ei_t);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
vec::push(eof_eis, ei);
|
||||
vec::push(eof_eis, move ei);
|
||||
}
|
||||
} else {
|
||||
match copy ei.elts[idx].node {
|
||||
|
@ -292,7 +292,7 @@ fn parse(sess: parse_sess, cfg: ast::crate_cfg, rdr: reader, ms: ~[matcher])
|
|||
new_ei.matches[idx].push(@matched_seq(~[], sp));
|
||||
}
|
||||
|
||||
vec::push(cur_eis, new_ei);
|
||||
vec::push(cur_eis, move new_ei);
|
||||
}
|
||||
|
||||
let matches = vec::map(ei.matches, // fresh, same size:
|
||||
|
@ -300,16 +300,19 @@ fn parse(sess: parse_sess, cfg: ast::crate_cfg, rdr: reader, ms: ~[matcher])
|
|||
let ei_t <- ei;
|
||||
vec::push(cur_eis, ~{
|
||||
elts: matchers, sep: sep, mut idx: 0u,
|
||||
mut up: matcher_pos_up(Some(ei_t)),
|
||||
matches: matches,
|
||||
mut up: matcher_pos_up(Some(move ei_t)),
|
||||
matches: move matches,
|
||||
match_lo: match_idx_lo, match_hi: match_idx_hi,
|
||||
sp_lo: sp.lo
|
||||
});
|
||||
}
|
||||
match_nonterminal(_,_,_) => { vec::push(bb_eis, ei) }
|
||||
match_nonterminal(_,_,_) => { vec::push(bb_eis, move ei) }
|
||||
match_tok(t) => {
|
||||
let ei_t <- ei;
|
||||
if t == tok { ei_t.idx += 1u; vec::push(next_eis, ei_t)}
|
||||
if t == tok {
|
||||
ei_t.idx += 1;
|
||||
vec::push(next_eis, move ei_t);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -362,7 +365,7 @@ fn parse(sess: parse_sess, cfg: ast::crate_cfg, rdr: reader, ms: ~[matcher])
|
|||
}
|
||||
_ => fail
|
||||
}
|
||||
vec::push(cur_eis,ei);
|
||||
vec::push(cur_eis, move ei);
|
||||
|
||||
/* this would fail if zero-length tokens existed */
|
||||
while rdr.peek().sp.lo < rust_parser.span.lo {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue