// run-pass #![allow(dead_code)] use std::panic::{UnwindSafe, AssertUnwindSafe}; use std::cell::RefCell; use std::sync::{Mutex, RwLock, Arc}; use std::rc::Rc; struct Foo { a: i32 } fn assert() {} fn main() { 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::>>(); } }