mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 00:03:43 +00:00
Rollup merge of #133145 - kornelski:static-mutex, r=traviscross
Document alternatives to `static mut` In #133143 I've noticed alternatives to `static mut` aren't documented anywhere.
This commit is contained in:
commit
19c145d816
@ -1448,6 +1448,9 @@ mod self_upper_keyword {}
|
||||
/// in a multithreaded context. As such, all accesses to mutable `static`s
|
||||
/// require an [`unsafe`] block.
|
||||
///
|
||||
/// When possible, it's often better to use a non-mutable `static` with an
|
||||
/// interior mutable type such as [`Mutex`], [`OnceLock`], or an [atomic].
|
||||
///
|
||||
/// Despite their unsafety, mutable `static`s are necessary in many contexts:
|
||||
/// they can be used to represent global state shared by the whole program or in
|
||||
/// [`extern`] blocks to bind to variables from C libraries.
|
||||
@ -1468,7 +1471,10 @@ mod self_upper_keyword {}
|
||||
/// [`extern`]: keyword.extern.html
|
||||
/// [`mut`]: keyword.mut.html
|
||||
/// [`unsafe`]: keyword.unsafe.html
|
||||
/// [`Mutex`]: sync::Mutex
|
||||
/// [`OnceLock`]: sync::OnceLock
|
||||
/// [`RefCell`]: cell::RefCell
|
||||
/// [atomic]: sync::atomic
|
||||
/// [Reference]: ../reference/items/static-items.html
|
||||
mod static_keyword {}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user