Skip to content

Commit 032db98

Browse files
committed
langref: clarify allowed atomic types
Floats are not allowed in @cmpxchg Packed structs are allowed for all atomic builtins
1 parent ac47ca0 commit 032db98

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
@@ -4356,7 +4356,7 @@ comptime {
43564356
</p>
43574357
<p>
43584358
{#syntax#}T{#endsyntax#} must be a pointer, a {#syntax#}bool{#endsyntax#}, a float,
4359-
an integer or an enum.
4359+
an integer, an enum, or a packed struct.
43604360
</p>
43614361
<p>{#syntax#}AtomicOrder{#endsyntax#} can be found with {#syntax#}@import("std").builtin.AtomicOrder{#endsyntax#}.</p>
43624362
{#see_also|@atomicStore|@atomicRmw||@cmpxchgWeak|@cmpxchgStrong#}
@@ -4370,7 +4370,7 @@ comptime {
43704370
</p>
43714371
<p>
43724372
{#syntax#}T{#endsyntax#} must be a pointer, a {#syntax#}bool{#endsyntax#}, a float,
4373-
an integer or an enum.
4373+
an integer, an enum, or a packed struct.
43744374
</p>
43754375
<p>{#syntax#}AtomicOrder{#endsyntax#} can be found with {#syntax#}@import("std").builtin.AtomicOrder{#endsyntax#}.</p>
43764376
<p>{#syntax#}AtomicRmwOp{#endsyntax#} can be found with {#syntax#}@import("std").builtin.AtomicRmwOp{#endsyntax#}.</p>
@@ -4384,7 +4384,7 @@ comptime {
43844384
</p>
43854385
<p>
43864386
{#syntax#}T{#endsyntax#} must be a pointer, a {#syntax#}bool{#endsyntax#}, a float,
4387-
an integer or an enum.
4387+
an integer, an enum, or a packed struct.
43884388
</p>
43894389
<p>{#syntax#}AtomicOrder{#endsyntax#} can be found with {#syntax#}@import("std").builtin.AtomicOrder{#endsyntax#}.</p>
43904390
{#see_also|@atomicLoad|@atomicRmw|@cmpxchgWeak|@cmpxchgStrong#}
@@ -4613,8 +4613,8 @@ comptime {
46134613
more efficiently in machine instructions.
46144614
</p>
46154615
<p>
4616-
{#syntax#}T{#endsyntax#} must be a pointer, a {#syntax#}bool{#endsyntax#}, a float,
4617-
an integer or an enum.
4616+
{#syntax#}T{#endsyntax#} must be a pointer, a {#syntax#}bool{#endsyntax#},
4617+
an integer, an enum, or a packed struct.
46184618
</p>
46194619
<p>{#syntax#}@typeInfo(@TypeOf(ptr)).pointer.alignment{#endsyntax#} must be {#syntax#}>= @sizeOf(T).{#endsyntax#}</p>
46204620
<p>{#syntax#}AtomicOrder{#endsyntax#} can be found with {#syntax#}@import("std").builtin.AtomicOrder{#endsyntax#}.</p>
@@ -4645,8 +4645,8 @@ fn cmpxchgWeakButNotAtomic(comptime T: type, ptr: *T, expected_value: T, new_val
46454645
However if you need a stronger guarantee, use {#link|@cmpxchgStrong#}.
46464646
</p>
46474647
<p>
4648-
{#syntax#}T{#endsyntax#} must be a pointer, a {#syntax#}bool{#endsyntax#}, a float,
4649-
an integer or an enum.
4648+
{#syntax#}T{#endsyntax#} must be a pointer, a {#syntax#}bool{#endsyntax#},
4649+
an integer, an enum, or a packed struct.
46504650
</p>
46514651
<p>{#syntax#}@typeInfo(@TypeOf(ptr)).pointer.alignment{#endsyntax#} must be {#syntax#}>= @sizeOf(T).{#endsyntax#}</p>
46524652
<p>{#syntax#}AtomicOrder{#endsyntax#} can be found with {#syntax#}@import("std").builtin.AtomicOrder{#endsyntax#}.</p>

0 commit comments

Comments
 (0)