すまん、swapの例をintで使ったばあい
int tmp = move(a);
a = move(b);
b = move(tmp);

moveを(どれか)外してコピーが増える?