summary refs log tree commit diff
path: root/src/test/ui/interior-mutability/interior-mutability.stderr
blob: 1a726be4aa6f4eb327fb2ae089293dfe8da2e058 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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
  --> $DIR/interior-mutability.rs:5:5
   |
LL |     catch_unwind(|| { x.set(23); });
   |     ^^^^^^^^^^^^ `std::cell::UnsafeCell<i32>` may contain interior mutability and a reference may not be safely transferrable across a catch_unwind boundary
   | 
  ::: $SRC_DIR/libstd/panic.rs:LL:COL
   |
LL | pub fn catch_unwind<F: FnOnce() -> R + UnwindSafe, R>(f: F) -> Result<R> {
   |                                        ---------- required by this bound in `std::panic::catch_unwind`
   |
   = help: within `std::cell::Cell<i32>`, the trait `std::panic::RefUnwindSafe` is not implemented for `std::cell::UnsafeCell<i32>`
   = note: required because it appears within the type `std::cell::Cell<i32>`
   = note: required because of the requirements on the impl of `std::panic::UnwindSafe` for `&std::cell::Cell<i32>`
   = note: required because it appears within the type `[closure@$DIR/interior-mutability.rs:5:18: 5:35 x:&std::cell::Cell<i32>]`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0277`.