Skip to content
This repository was archived by the owner on Oct 12, 2022. It is now read-only.

Commit 5a77d7f

Browse files
authored
Merge pull request #3541 from dkorpel/atomic-return-scope
Make atomic functions return scope, not ref return
2 parents 36b0fce + 292665a commit 5a77d7f

1 file changed

Lines changed: 6 additions & 6 deletions

File tree

src/core/atomic.d

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ enum MemoryOrder
6666
* Returns:
6767
* The value of 'val'.
6868
*/
69-
T atomicLoad(MemoryOrder ms = MemoryOrder.seq, T)(return ref const T val) pure nothrow @nogc @trusted
69+
T atomicLoad(MemoryOrder ms = MemoryOrder.seq, T)(ref return scope const T val) pure nothrow @nogc @trusted
7070
if (!is(T == shared U, U) && !is(T == shared inout U, U) && !is(T == shared const U, U))
7171
{
7272
static if (__traits(isFloating, T))
@@ -80,7 +80,7 @@ T atomicLoad(MemoryOrder ms = MemoryOrder.seq, T)(return ref const T val) pure n
8080
}
8181

8282
/// Ditto
83-
T atomicLoad(MemoryOrder ms = MemoryOrder.seq, T)(return ref shared const T val) pure nothrow @nogc @trusted
83+
T atomicLoad(MemoryOrder ms = MemoryOrder.seq, T)(ref return scope shared const T val) pure nothrow @nogc @trusted
8484
if (!hasUnsharedIndirections!T)
8585
{
8686
import core.internal.traits : hasUnsharedIndirections;
@@ -162,7 +162,7 @@ void atomicStore(MemoryOrder ms = MemoryOrder.seq, T, V)(ref shared T val, share
162162
* Returns:
163163
* The value held previously by `val`.
164164
*/
165-
T atomicFetchAdd(MemoryOrder ms = MemoryOrder.seq, T)(return ref T val, size_t mod) pure nothrow @nogc @trusted
165+
T atomicFetchAdd(MemoryOrder ms = MemoryOrder.seq, T)(ref return scope T val, size_t mod) pure nothrow @nogc @trusted
166166
if ((__traits(isIntegral, T) || is(T == U*, U)) && !is(T == shared))
167167
in (atomicValueIsProperlyAligned(val))
168168
{
@@ -173,7 +173,7 @@ in (atomicValueIsProperlyAligned(val))
173173
}
174174

175175
/// Ditto
176-
T atomicFetchAdd(MemoryOrder ms = MemoryOrder.seq, T)(return ref shared T val, size_t mod) pure nothrow @nogc @trusted
176+
T atomicFetchAdd(MemoryOrder ms = MemoryOrder.seq, T)(ref return scope shared T val, size_t mod) pure nothrow @nogc @trusted
177177
if (__traits(isIntegral, T) || is(T == U*, U))
178178
in (atomicValueIsProperlyAligned(val))
179179
{
@@ -191,7 +191,7 @@ in (atomicValueIsProperlyAligned(val))
191191
* Returns:
192192
* The value held previously by `val`.
193193
*/
194-
T atomicFetchSub(MemoryOrder ms = MemoryOrder.seq, T)(return ref T val, size_t mod) pure nothrow @nogc @trusted
194+
T atomicFetchSub(MemoryOrder ms = MemoryOrder.seq, T)(ref return scope T val, size_t mod) pure nothrow @nogc @trusted
195195
if ((__traits(isIntegral, T) || is(T == U*, U)) && !is(T == shared))
196196
in (atomicValueIsProperlyAligned(val))
197197
{
@@ -202,7 +202,7 @@ in (atomicValueIsProperlyAligned(val))
202202
}
203203

204204
/// Ditto
205-
T atomicFetchSub(MemoryOrder ms = MemoryOrder.seq, T)(return ref shared T val, size_t mod) pure nothrow @nogc @trusted
205+
T atomicFetchSub(MemoryOrder ms = MemoryOrder.seq, T)(ref return scope shared T val, size_t mod) pure nothrow @nogc @trusted
206206
if (__traits(isIntegral, T) || is(T == U*, U))
207207
in (atomicValueIsProperlyAligned(val))
208208
{

0 commit comments

Comments
 (0)