about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorNick Cameron <ncameron@mozilla.com>2014-08-29 15:21:28 +1200
committerNick Cameron <ncameron@mozilla.com>2014-09-03 08:32:35 +1200
commit7f72884f1366ee9a46cd2b231c09c5c0e44f7ba3 (patch)
tree6f9bf04e0f6639a93b23fb13db4816cf44b37d91 /src/libstd
parente9bd650cad7c519e3f39b8bbed5afeac94daff05 (diff)
downloadrust-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/libstd')
-rw-r--r--src/libstd/failure.rs2
-rw-r--r--src/libstd/io/stdio.rs2
2 files changed, 2 insertions, 2 deletions
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<Writer + Send>
         });
-        let result = f(my_stdout);
+        let result = f(&mut *my_stdout);
         local_stdout.replace(Some(my_stdout));
         result
     } else {