error[E0492]: interior mutable shared borrows of temporaries that have their lifetime extended until the end of the program are not allowed --> $DIR/refs-to-cell-in-final.rs:13:54 | LL | static RAW_SYNC_S: SyncPtr> = SyncPtr { x: &Cell::new(42) }; | ^^^^^^^^^^^^^^ this borrow of an interior mutable value refers to such a temporary | = note: Temporaries in constants and statics can have their lifetime extended until the end of the program = note: To avoid accidentally creating global mutable state, such temporaries must be immutable = help: If you really want global mutable state, try replacing the temporary by an interior mutable `static` or a `static mut` error[E0492]: interior mutable shared borrows of temporaries that have their lifetime extended until the end of the program are not allowed --> $DIR/refs-to-cell-in-final.rs:15:53 | LL | const RAW_SYNC_C: SyncPtr> = SyncPtr { x: &Cell::new(42) }; | ^^^^^^^^^^^^^^ this borrow of an interior mutable value refers to such a temporary | = note: Temporaries in constants and statics can have their lifetime extended until the end of the program = note: To avoid accidentally creating global mutable state, such temporaries must be immutable = help: If you really want global mutable state, try replacing the temporary by an interior mutable `static` or a `static mut` error[E0492]: interior mutable shared borrows of temporaries that have their lifetime extended until the end of the program are not allowed --> $DIR/refs-to-cell-in-final.rs:41:57 | LL | const INTERIOR_MUT_VARIANT: &Option> = &{ | _________________________________________________________^ 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 refers to such a temporary | = note: Temporaries in constants and statics can have their lifetime extended until the end of the program = note: To avoid accidentally creating global mutable state, such temporaries must be immutable = help: If you really want global mutable state, try replacing the temporary by an interior mutable `static` or a `static mut` error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0492`.