mirror of https://github.com/rust-lang/rust
31 lines
1.3 KiB
Plaintext
31 lines
1.3 KiB
Plaintext
error[E0492]: statics cannot refer to interior mutable data
|
|
--> $DIR/refs-to-cell-in-final.rs:13:54
|
|
|
|
|
LL | static RAW_SYNC_S: SyncPtr<Cell<i32>> = SyncPtr { x: &Cell::new(42) };
|
|
| ^^^^^^^^^^^^^^ this borrow of an interior mutable value may end up in the final value
|
|
|
|
|
= help: to fix this, the value can be extracted to a separate `static` item and then referenced
|
|
|
|
error[E0492]: constants cannot refer to interior mutable data
|
|
--> $DIR/refs-to-cell-in-final.rs:15:53
|
|
|
|
|
LL | const RAW_SYNC_C: SyncPtr<Cell<i32>> = SyncPtr { x: &Cell::new(42) };
|
|
| ^^^^^^^^^^^^^^ this borrow of an interior mutable value may end up in the final value
|
|
|
|
error[E0492]: constants cannot refer to interior mutable data
|
|
--> $DIR/refs-to-cell-in-final.rs:41:57
|
|
|
|
|
LL | const INTERIOR_MUT_VARIANT: &Option<UnsafeCell<bool>> = &{
|
|
| _________________________________________________________^
|
|
LL | |
|
|
LL | | let mut x = None;
|
|
LL | | assert!(x.is_none());
|
|
LL | | x = Some(UnsafeCell::new(false));
|
|
LL | | x
|
|
LL | | };
|
|
| |_^ this borrow of an interior mutable value may end up in the final value
|
|
|
|
error: aborting due to 3 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0492`.
|