On Saturday, 22 April 2017 at 11:54:12 UTC, Nordlöw wrote:
which means that the return statement at
https://github.com/nordlow/gmp-d/blob/660d82b99abeef2b26ef3c9c4525d08a2aafdc55/src/gmp/z.d#L484
can no longer move the expression `y`.
Note that changing the line 484 containing
return y;
to
return move(y);
instead fails as
/usr/include/dmd/phobos/std/algorithm/mutation.d(1207,12): Error:
struct gmp.z.MpZ is not copyable because it is annotated with
@disable
/usr/include/dmd/phobos/std/algorithm/mutation.d(1200,20): Error:
template instance std.algorithm.mutation.moveImpl!(MpZ) error
instantiating
/usr/include/dmd/phobos/std/algorithm/mutation.d(1162,31):
instantiated from here: trustedMoveImpl!(MpZ)
src/gmp/z.d(484,24): instantiated from here: move!(MpZ)
src/gmp/q.d(205,16): instantiated from here: opBinary!"/"
src/gmp/z.d(168,16): Error: struct gmp.z.MpZ is not copyable
because it is annotated with @disable
src/gmp/z.d(921,16): Error: struct gmp.z.MpZ is not copyable
because it is annotated with @disable