about summary refs log tree commit diff
path: root/src/libstd/panic.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2016-03-18 09:21:43 -0700
committerbors <bors@rust-lang.org>2016-03-18 09:21:43 -0700
commit24bb607e7d65ebfc487eba62e053ac049f140efc (patch)
tree5488e6cdaba0a034870a1b0b459b9685e7352ed6 /src/libstd/panic.rs
parent235d77457d80b549dad3ac36d94f235208a1eafb (diff)
parent50fda1eead10af900a7b7c9f07983937e66bcc3c (diff)
downloadrust-24bb607e7d65ebfc487eba62e053ac049f140efc.tar.gz
rust-24bb607e7d65ebfc487eba62e053ac049f140efc.zip
Auto merge of #32282 - sfackler:panic-hook, r=alexcrichton
Adjustments to the panic hook API

Rename `set_handler` and `take_handler` to `set_hook` and `take_hook` since we're not actually "handling" (i.e. fixing) anything.

Also alter `set_hook` to take a `Box<Fn(&PanicInfo) + 'static + Sync + Send>` rather than a parameterized closure since there's otherwise no easy way to re-register a hook that came from `take_hook`.

cc #30449

r? @aturon
Diffstat (limited to 'src/libstd/panic.rs')
-rw-r--r--src/libstd/panic.rs16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/libstd/panic.rs b/src/libstd/panic.rs
index 5c2e36623cb..aff11d036f8 100644
--- a/src/libstd/panic.rs
+++ b/src/libstd/panic.rs
@@ -23,7 +23,21 @@ use sync::{Arc, Mutex, RwLock};
 use sys_common::unwind;
 use thread::Result;
 
-pub use panicking::{take_handler, set_handler, PanicInfo, Location};
+pub use panicking::{take_hook, set_hook, PanicInfo, Location};
+
+///
+#[rustc_deprecated(since = "1.9.0", reason = "renamed to set_hook")]
+#[unstable(feature = "panic_handler", reason = "awaiting feedback", issue = "30449")]
+pub fn set_handler<F>(handler: F) where F: Fn(&PanicInfo) + 'static + Sync + Send {
+    set_hook(Box::new(handler))
+}
+
+///
+#[rustc_deprecated(since = "1.9.0", reason = "renamed to take_hook")]
+#[unstable(feature = "panic_handler", reason = "awaiting feedback", issue = "30449")]
+pub fn take_handler() -> Box<Fn(&PanicInfo) + 'static + Sync + Send> {
+    take_hook()
+}
 
 /// A marker trait which represents "panic safe" types in Rust.
 ///