1 error[E0277]: the type `std::cell::UnsafeCell<i32>` may contain interior mutability and a reference may not be safely transferrable across a catch_unwind boundary
2 --> $DIR/not-panic-safe-3.rs:10:5
4 LL | assert::<Arc<RefCell<i32>>>();
5 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ `std::cell::UnsafeCell<i32>` may contain interior mutability and a reference may not be safely transferrable across a catch_unwind boundary
7 = help: within `std::cell::RefCell<i32>`, the trait `std::panic::RefUnwindSafe` is not implemented for `std::cell::UnsafeCell<i32>`
8 = note: required because it appears within the type `std::cell::RefCell<i32>`
9 = note: required because of the requirements on the impl of `std::panic::UnwindSafe` for `std::sync::Arc<std::cell::RefCell<i32>>`
10 note: required by `assert`
11 --> $DIR/not-panic-safe-3.rs:7:1
13 LL | fn assert<T: UnwindSafe + ?Sized>() {}
14 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
16 error[E0277]: the type `std::cell::UnsafeCell<isize>` may contain interior mutability and a reference may not be safely transferrable across a catch_unwind boundary
17 --> $DIR/not-panic-safe-3.rs:10:5
19 LL | assert::<Arc<RefCell<i32>>>();
20 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ `std::cell::UnsafeCell<isize>` may contain interior mutability and a reference may not be safely transferrable across a catch_unwind boundary
22 = help: within `std::cell::RefCell<i32>`, the trait `std::panic::RefUnwindSafe` is not implemented for `std::cell::UnsafeCell<isize>`
23 = note: required because it appears within the type `std::cell::Cell<isize>`
24 = note: required because it appears within the type `std::cell::RefCell<i32>`
25 = note: required because of the requirements on the impl of `std::panic::UnwindSafe` for `std::sync::Arc<std::cell::RefCell<i32>>`
26 note: required by `assert`
27 --> $DIR/not-panic-safe-3.rs:7:1
29 LL | fn assert<T: UnwindSafe + ?Sized>() {}
30 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
32 error: aborting due to 2 previous errors
34 For more information about this error, try `rustc --explain E0277`.