@@ -66,7 +66,7 @@ enum MemoryOrder
66
66
* Returns:
67
67
* The value of 'val'.
68
68
*/
69
- T atomicLoad (MemoryOrder ms = MemoryOrder.seq, T)( ref T val ) pure nothrow @nogc @trusted
69
+ T atomicLoad (MemoryOrder ms = MemoryOrder.seq, T)( ref const T val ) pure nothrow @nogc @trusted
70
70
if ( ! is ( T == shared U, U ) && ! is ( T == shared inout U, U ) && ! is ( T == shared const U, U ) )
71
71
{
72
72
static if ( __traits(isFloating, T) )
@@ -76,11 +76,11 @@ T atomicLoad(MemoryOrder ms = MemoryOrder.seq, T)( ref T val ) pure nothrow @nog
76
76
return * cast (T* )&r;
77
77
}
78
78
else
79
- return core.internal.atomic.atomicLoad ! ms(&val);
79
+ return core.internal.atomic.atomicLoad ! ms(cast (T * ) &val);
80
80
}
81
81
82
82
// / Ditto
83
- T atomicLoad (MemoryOrder ms = MemoryOrder.seq, T)( ref shared T val ) pure nothrow @nogc @trusted
83
+ T atomicLoad (MemoryOrder ms = MemoryOrder.seq, T)( ref const shared T val ) pure nothrow @nogc @trusted
84
84
if ( ! hasUnsharedIndirections! T )
85
85
{
86
86
import core.internal.traits : hasUnsharedIndirections;
@@ -90,7 +90,7 @@ T atomicLoad(MemoryOrder ms = MemoryOrder.seq, T)( ref shared T val ) pure nothr
90
90
}
91
91
92
92
// / Ditto
93
- TailShared! T atomicLoad (MemoryOrder ms = MemoryOrder.seq, T)( ref shared T val ) pure nothrow @nogc @trusted
93
+ TailShared! T atomicLoad (MemoryOrder ms = MemoryOrder.seq, T)( ref const shared T val ) pure nothrow @nogc @trusted
94
94
if ( hasUnsharedIndirections! T )
95
95
{
96
96
// HACK: DEPRECATE THIS FUNCTION, IT IS INVALID TO DO ATOMIC LOAD OF SHARED CLASS
0 commit comments