From 7f72884f1366ee9a46cd2b231c09c5c0e44f7ba3 Mon Sep 17 00:00:00 2001 From: Nick Cameron Date: Fri, 29 Aug 2014 15:21:28 +1200 Subject: Remove cross-borrowing for traits. Closes #15349 [breaking-change] Trait objects are no longer implicitly coerced from Box to &T. You must make an explicit coercion using `&*`. --- src/libsyntax/parse/parser.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/libsyntax/parse/parser.rs') 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) -> 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) -- cgit 1.4.1-3-g733a5