The following compiles with dmd but not with ldc on run.dlang.io. Am I doing something wrong?
import core.memory;
void main()
{
struct S
{
int x;
this(this) @disable;
~this() @safe pure nothrow @nogc {}
}
S* p;
// rvalue
p = moveToGC(S(123));
assert(p.x == 123);
// lvalue
auto lval = S(456);
p = moveToGC(lval);
assert(p.x == 456);
assert(lval.x == 0);
}