#![allow(dead_code)] use crate::cell::RefCell; use crate::panic::{AssertUnwindSafe, UnwindSafe}; use crate::rc::Rc; use crate::sync::{Arc, Mutex, RwLock}; struct Foo { a: i32, } fn assert() {} #[test] fn panic_safety_traits() { assert::(); assert::<&i32>(); assert::<*mut i32>(); assert::<*const i32>(); assert::(); assert::(); assert::<&str>(); assert::(); assert::<&Foo>(); assert::>(); assert::(); assert::>(); assert::>(); assert::>(); assert::>(); assert::<&Mutex>(); assert::<&RwLock>(); assert::>(); assert::>(); assert::>(); { trait Trait: UnwindSafe {} assert::>(); } fn bar() { assert::>(); assert::>(); } fn baz() { assert::>(); assert::>(); assert::>(); assert::>(); assert::<&AssertUnwindSafe>(); assert::>>(); assert::>>(); } }