auto ref function parameter causes that non copyable struct is copied?

jfondren julian.fondren at gmail.com
Tue Nov 9 02:43:55 UTC 2021


On Tuesday, 9 November 2021 at 02:41:18 UTC, jfondren wrote:
> The expectation is probably that `f.move` set `f` to 
> `Foo.init`, but the docs say:

Posted too fast. Foo qualifies with its @disable:

```d
struct A { int x; }
struct B { int x; @disable this(this); }

unittest {
     import core.lifetime : move;
     auto a = A(5);
     auto b = B(5);
     a.move;
     b.move;
     assert(a == A(5));
     assert(b == B(0));
}
```


More information about the Digitalmars-d-learn mailing list