about summary refs log tree commit diff
path: root/src/libstd/panicking.rs
diff options
context:
space:
mode:
authorSteven Fackler <sfackler@gmail.com>2015-06-09 21:39:36 -0700
committerSteven Fackler <sfackler@gmail.com>2015-06-14 20:17:06 -0700
commita7bbd7da4eb98127104fdfd415ad6c746f7e2a12 (patch)
treef7c2c18daba6885ccf1fa1b028575d3fca54c464 /src/libstd/panicking.rs
parent2228ce10c6d83c17b6346396aa7c7ef9082f1c04 (diff)
downloadrust-a7bbd7da4eb98127104fdfd415ad6c746f7e2a12.tar.gz
rust-a7bbd7da4eb98127104fdfd415ad6c746f7e2a12.zip
Implement RFC 1014
Closes #25977

The various `stdfoo_raw` methods in std::io now return `io::Result`s,
since they may not exist on Windows. They will always return `Ok` on
Unix-like platforms.

[breaking-change]
Diffstat (limited to 'src/libstd/panicking.rs')
-rw-r--r--src/libstd/panicking.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libstd/panicking.rs b/src/libstd/panicking.rs
index 7366524fd7e..01588843591 100644
--- a/src/libstd/panicking.rs
+++ b/src/libstd/panicking.rs
@@ -33,7 +33,10 @@ pub fn on_panic(obj: &(Any+Send), file: &'static str, line: u32) {
             None => "Box<Any>",
         }
     };
-    let mut err = Stderr::new();
+    let mut err = match Stderr::new() {
+        Ok(err) => err,
+        _ => return,
+    };
     let thread = thread_info::current_thread();
     let name = thread.as_ref().and_then(|t| t.name()).unwrap_or("<unnamed>");
     let prev = LOCAL_STDERR.with(|s| s.borrow_mut().take());