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/libstd/failure.rs | 2 +- src/libstd/io/stdio.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src/libstd') diff --git a/src/libstd/failure.rs b/src/libstd/failure.rs index 8c709d20d19..8d715de16e6 100644 --- a/src/libstd/failure.rs +++ b/src/libstd/failure.rs @@ -81,7 +81,7 @@ pub fn on_fail(obj: &Any + Send, file: &'static str, line: uint) { "task '{}' failed at '{}', {}:{}\n", n, msg, file, line); if backtrace::log_enabled() { - let _ = backtrace::write(stderr); + let _ = backtrace::write(&mut *stderr); } local_stderr.replace(Some(stderr)); } diff --git a/src/libstd/io/stdio.rs b/src/libstd/io/stdio.rs index fea161c426a..bd837b6f7b5 100644 --- a/src/libstd/io/stdio.rs +++ b/src/libstd/io/stdio.rs @@ -203,7 +203,7 @@ fn with_task_stdout(f: |&mut Writer| -> IoResult<()>) { let mut my_stdout = local_stdout.replace(None).unwrap_or_else(|| { box stdout() as Box }); - let result = f(my_stdout); + let result = f(&mut *my_stdout); local_stdout.replace(Some(my_stdout)); result } else { -- cgit 1.4.1-3-g733a5