]>
Commit | Line | Data |
---|---|---|
8faf50e0 | 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 |
60c5eb7d | 2 | --> $DIR/interior-mutability.rs:6:5 |
041b39d2 | 3 | | |
8faf50e0 XL |
4 | LL | catch_unwind(|| { x.set(23); }); |
5 | | ^^^^^^^^^^^^ `std::cell::UnsafeCell<i32>` may contain interior mutability and a reference may not be safely transferrable across a catch_unwind boundary | |
e1599b0c XL |
6 | | |
7 | ::: $SRC_DIR/libstd/panic.rs:LL:COL | |
8 | | | |
9 | LL | pub fn catch_unwind<F: FnOnce() -> R + UnwindSafe, R>(f: F) -> Result<R> { | |
10 | | ---------- required by this bound in `std::panic::catch_unwind` | |
041b39d2 XL |
11 | | |
12 | = help: within `std::cell::Cell<i32>`, the trait `std::panic::RefUnwindSafe` is not implemented for `std::cell::UnsafeCell<i32>` | |
13 | = note: required because it appears within the type `std::cell::Cell<i32>` | |
14 | = note: required because of the requirements on the impl of `std::panic::UnwindSafe` for `&std::cell::Cell<i32>` | |
60c5eb7d | 15 | = note: required because it appears within the type `[closure@$DIR/interior-mutability.rs:6:18: 6:35 x:&std::cell::Cell<i32>]` |
041b39d2 XL |
16 | |
17 | error: aborting due to previous error | |
18 | ||
0531ce1d | 19 | For more information about this error, try `rustc --explain E0277`. |