3 // ignore-emscripten no threads support
5 use std::sync::atomic::{AtomicUsize, Ordering};
9 static A: AtomicUsize = AtomicUsize::new(0);
12 panic::set_hook(Box::new(|_| {
13 A.fetch_add(1, Ordering::SeqCst);
16 let result = thread::spawn(|| {
17 let result = panic::catch_unwind(|| {
21 panic::resume_unwind(result.unwrap_err());
24 let msg = *result.unwrap_err().downcast::<&'static str>().unwrap();
25 assert_eq!("hi there", msg);
26 assert_eq!(1, A.load(Ordering::SeqCst));