> =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.

Reply via email to