From beece25abefb50cb2db91e5cde1f54e239d6e20a Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Fri, 27 Apr 2012 12:19:52 -0700 Subject: [PATCH] parser: Fix lookahead of > 1 token --- src/librustsyntax/parse/parser.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/librustsyntax/parse/parser.rs b/src/librustsyntax/parse/parser.rs index d0aee6fffab..e2117a27ec3 100644 --- a/src/librustsyntax/parse/parser.rs +++ b/src/librustsyntax/parse/parser.rs @@ -69,7 +69,7 @@ impl parser for parser { self.token = next.tok; self.span = mk_sp(next.chpos, self.reader.chpos); } else { - let next = vec::pop(self.buffer); + let next = vec::shift(self.buffer); self.token = next.tok; self.span = next.span; } @@ -82,7 +82,7 @@ impl parser for parser { while vec::len(self.buffer) < distance { let next = lexer::next_token(self.reader); let sp = mk_sp(next.chpos, self.reader.chpos); - self.buffer = [{tok: next.tok, span: sp}] + self.buffer; + vec::push(self.buffer, {tok: next.tok, span: sp}); } ret self.buffer[distance - 1u].tok; }