dmd/compiler/test/compilable/readmodify_structclass.d
2022-07-09 18:53:07 +02:00

30 lines
421 B
D

// REQUIRED_ARGS:
shared struct S
{
int x = 0;
int opUnary(string s)() if (s == "++")
{
import core.atomic : atomicOp;
return atomicOp!"+="(x, 1);
}
}
shared class C
{
int x = 0;
int opUnary(string s)() if (s == "++")
{
import core.atomic : atomicOp;
return atomicOp!"+="(x, 1);
}
}
void main()
{
S s;
s++;
shared(C) c = new C();
c++;
}