about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2024-02-10 13:12:29 +0100
committerGitHub <noreply@github.com>2024-02-10 13:12:29 +0100
commit83544703f5050ca80984b1ae9f7ad6f59aab8bac (patch)
treed1f540c96249368868887583a912e9e025fefa61
parent2eda0c7b2e4ea5cfbb99778fd9266388a5096292 (diff)
parentc94bbb24db36726a2931ae9df114581b2e76f283 (diff)
downloadrust-83544703f5050ca80984b1ae9f7ad6f59aab8bac.tar.gz
rust-83544703f5050ca80984b1ae9f7ad6f59aab8bac.zip
Rollup merge of #120823 - LegionMammal978:clarify-atomic-align, r=RalfJung
Clarify that atomic and regular integers can differ in alignment

The documentation for atomic integers says that they have the "same in-memory representation" as their underlying integers. This might be misconstrued as implying that they have the same layout. Therefore, clarify that atomic integers' alignment is equal to their size.
-rw-r--r--library/core/src/sync/atomic.rs11
1 files changed, 10 insertions, 1 deletions
diff --git a/library/core/src/sync/atomic.rs b/library/core/src/sync/atomic.rs
index ad8c70c6a3c..d9654973b84 100644
--- a/library/core/src/sync/atomic.rs
+++ b/library/core/src/sync/atomic.rs
@@ -2119,7 +2119,16 @@ macro_rules! atomic_int {
         /// This type has the same in-memory representation as the underlying
         /// integer type, [`
         #[doc = $s_int_type]
-        /// `]. For more about the differences between atomic types and
+        /// `].
+        #[doc = if_not_8_bit! {
+            $int_type,
+            concat!(
+                "However, the alignment of this type is always equal to its ",
+                "size, even on targets where [`", $s_int_type, "`] has a ",
+                "lesser alignment."
+            )
+        }]
+        /// For more about the differences between atomic types and
         /// non-atomic types as well as information about the portability of
         /// this type, please see the [module-level documentation].
         ///