diff options
| author | Nick Cameron <ncameron@mozilla.com> | 2014-08-29 15:21:28 +1200 |
|---|---|---|
| committer | Nick Cameron <ncameron@mozilla.com> | 2014-09-03 08:32:35 +1200 |
| commit | 7f72884f1366ee9a46cd2b231c09c5c0e44f7ba3 (patch) | |
| tree | 6f9bf04e0f6639a93b23fb13db4816cf44b37d91 /src/libsyntax/parse/parser.rs | |
| parent | e9bd650cad7c519e3f39b8bbed5afeac94daff05 (diff) | |
| download | rust-7f72884f1366ee9a46cd2b231c09c5c0e44f7ba3.tar.gz rust-7f72884f1366ee9a46cd2b231c09c5c0e44f7ba3.zip | |
Remove cross-borrowing for traits.
Closes #15349 [breaking-change] Trait objects are no longer implicitly coerced from Box<T> to &T. You must make an explicit coercion using `&*`.
Diffstat (limited to 'src/libsyntax/parse/parser.rs')
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index d3700059862..81ac789b683 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -351,7 +351,7 @@ impl<'a> Parser<'a> { mut rdr: Box<Reader+'a>) -> Parser<'a> { - let tok0 = real_token(rdr); + let tok0 = real_token(&mut *rdr); let span = tok0.sp; let placeholder = TokenAndSpan { tok: token::UNDERSCORE, @@ -899,7 +899,7 @@ impl<'a> Parser<'a> { None }; let next = if self.buffer_start == self.buffer_end { - real_token(self.reader) + real_token(&mut *self.reader) } else { // Avoid token copies with `replace`. let buffer_start = self.buffer_start as uint; @@ -943,7 +943,7 @@ impl<'a> Parser<'a> { -> R { let dist = distance as int; while self.buffer_length() < dist { - self.buffer[self.buffer_end as uint] = real_token(self.reader); + self.buffer[self.buffer_end as uint] = real_token(&mut *self.reader); self.buffer_end = (self.buffer_end + 1) & 3; } f(&self.buffer[((self.buffer_start + dist - 1) & 3) as uint].tok) |
