Skip to content

Commit cbe6e5b

Browse files
gooncreepermlugg
authored andcommitted
langref: clarify allowed atomic types
Floats are not allowed in @cmpxchg Packed structs are allowed for all atomic builtins
1 parent b0d6c22 commit cbe6e5b

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

doc/langref.html.in

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4319,7 +4319,7 @@ comptime {
43194319
</p>
43204320
<p>
43214321
{#syntax#}T{#endsyntax#} must be a pointer, a {#syntax#}bool{#endsyntax#}, a float,
4322-
an integer or an enum.
4322+
an integer, an enum, or a packed struct.
43234323
</p>
43244324
<p>{#syntax#}AtomicOrder{#endsyntax#} can be found with {#syntax#}@import("std").builtin.AtomicOrder{#endsyntax#}.</p>
43254325
{#see_also|@atomicStore|@atomicRmw||@cmpxchgWeak|@cmpxchgStrong#}
@@ -4333,7 +4333,7 @@ comptime {
43334333
</p>
43344334
<p>
43354335
{#syntax#}T{#endsyntax#} must be a pointer, a {#syntax#}bool{#endsyntax#}, a float,
4336-
an integer or an enum.
4336+
an integer, an enum, or a packed struct.
43374337
</p>
43384338
<p>{#syntax#}AtomicOrder{#endsyntax#} can be found with {#syntax#}@import("std").builtin.AtomicOrder{#endsyntax#}.</p>
43394339
<p>{#syntax#}AtomicRmwOp{#endsyntax#} can be found with {#syntax#}@import("std").builtin.AtomicRmwOp{#endsyntax#}.</p>
@@ -4347,7 +4347,7 @@ comptime {
43474347
</p>
43484348
<p>
43494349
{#syntax#}T{#endsyntax#} must be a pointer, a {#syntax#}bool{#endsyntax#}, a float,
4350-
an integer or an enum.
4350+
an integer, an enum, or a packed struct.
43514351
</p>
43524352
<p>{#syntax#}AtomicOrder{#endsyntax#} can be found with {#syntax#}@import("std").builtin.AtomicOrder{#endsyntax#}.</p>
43534353
{#see_also|@atomicLoad|@atomicRmw|@cmpxchgWeak|@cmpxchgStrong#}
@@ -4576,8 +4576,8 @@ comptime {
45764576
more efficiently in machine instructions.
45774577
</p>
45784578
<p>
4579-
{#syntax#}T{#endsyntax#} must be a pointer, a {#syntax#}bool{#endsyntax#}, a float,
4580-
an integer or an enum.
4579+
{#syntax#}T{#endsyntax#} must be a pointer, a {#syntax#}bool{#endsyntax#},
4580+
an integer, an enum, or a packed struct.
45814581
</p>
45824582
<p>{#syntax#}@typeInfo(@TypeOf(ptr)).pointer.alignment{#endsyntax#} must be {#syntax#}>= @sizeOf(T).{#endsyntax#}</p>
45834583
<p>{#syntax#}AtomicOrder{#endsyntax#} can be found with {#syntax#}@import("std").builtin.AtomicOrder{#endsyntax#}.</p>
@@ -4608,8 +4608,8 @@ fn cmpxchgWeakButNotAtomic(comptime T: type, ptr: *T, expected_value: T, new_val
46084608
However if you need a stronger guarantee, use {#link|@cmpxchgStrong#}.
46094609
</p>
46104610
<p>
4611-
{#syntax#}T{#endsyntax#} must be a pointer, a {#syntax#}bool{#endsyntax#}, a float,
4612-
an integer or an enum.
4611+
{#syntax#}T{#endsyntax#} must be a pointer, a {#syntax#}bool{#endsyntax#},
4612+
an integer, an enum, or a packed struct.
46134613
</p>
46144614
<p>{#syntax#}@typeInfo(@TypeOf(ptr)).pointer.alignment{#endsyntax#} must be {#syntax#}>= @sizeOf(T).{#endsyntax#}</p>
46154615
<p>{#syntax#}AtomicOrder{#endsyntax#} can be found with {#syntax#}@import("std").builtin.AtomicOrder{#endsyntax#}.</p>

0 commit comments

Comments
 (0)