syntax: fix up dynamic borrow errors in libsyntax

This commit is contained in:
Niko Matsakis
2013-05-01 21:50:32 -04:00
parent fbaf8399c8
commit 5f886342be
2 changed files with 10 additions and 10 deletions

View File

@@ -1607,9 +1607,9 @@ pub impl Parser {
token::LBRACE | token::LPAREN | token::LBRACKET => {
self.parse_matcher_subseq(
name_idx,
&*self.token,
*self.token,
// tjc: not sure why we need a copy
&token::flip_delimiter(&*self.token)
token::flip_delimiter(&*self.token)
)
}
_ => self.fatal(~"expected open delimiter")
@@ -1623,15 +1623,15 @@ pub impl Parser {
fn parse_matcher_subseq(
&self,
name_idx: @mut uint,
bra: &token::Token,
ket: &token::Token
bra: token::Token,
ket: token::Token
) -> ~[matcher] {
let mut ret_val = ~[];
let mut lparens = 0u;
self.expect(bra);
self.expect(&bra);
while *self.token != *ket || lparens > 0u {
while *self.token != ket || lparens > 0u {
if *self.token == token::LPAREN { lparens += 1u; }
if *self.token == token::RPAREN { lparens -= 1u; }
ret_val.push(self.parse_matcher(name_idx));
@@ -1651,8 +1651,8 @@ pub impl Parser {
let name_idx_lo = *name_idx;
let ms = self.parse_matcher_subseq(
name_idx,
&token::LPAREN,
&token::RPAREN
token::LPAREN,
token::RPAREN
);
if ms.len() == 0u {
self.fatal(~"repetition body must be nonempty");