>>962
> スタック領域に実体が置かれている場合、戻り値に指定するとmoveでも実体のコピーが発生する(仕様上の話。最適化の話はまた別)ため、ディープコピーの条件を満たす
ややこしいのはこれよな
ディープコピーというのはあくまで、実体を新たに作成して対応するデータを写し取る複製のことだから、スタックがpopされて実体の置き場所を変更する必要が生まれた時は、当然ディープコピーせざるを得ない
実際は先に、受け取る側のスタックに確保しておいてこのアドレスを使わせるという最適化が走るので、仕様上発生するはずのディープコピーは発生しないけど、これは最適化なのでできるパターンとできないパターンがある