Skip to content

Commit

Permalink
Rollup merge of #133145 - kornelski:static-mutex, r=traviscross
Browse files Browse the repository at this point in the history
Document alternatives to `static mut`

In #133143 I've noticed alternatives to `static mut` aren't documented anywhere.
  • Loading branch information
jhpratt authored Nov 18, 2024
2 parents 72a8d53 + 8b43a7e commit 19c145d
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions library/std/src/keyword_docs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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 {}

Expand Down

0 comments on commit 19c145d

Please sign in to comment.