> =move is used by the compiler and can cheat, move is system.move...
@Arag, I understood from the following re-write rule in spec 2 that move gets
re-written or calls =move directly anyway:
x = move y
------------------ (enforced-move)
`=move`(x, y)
Run
Or does the re-write rule not apply when move is used on a passed parameter so
then we would need "things: sink var seq[T]" here then? That would seem to
cover the cases where the provided "things" is not "lastUseOf" and the
requirement that the argument be var so it can be modified by move.
Then all of the "hooks" actually cheat as when they need to =destroy a
let/const, need to =copy to a let/const, or need to =move to and/or from
let/const. It seems that is what they do even now with the old model for the
ones that are implemented.