Add @disable attribute
import std.stdio; struct A { @disable this(this) {} // コピー禁止 } void main() { A a, b; a = b; // error }
C++ではコピー禁止にするためにコピーコンストラクタやoperator=をprivateメンバにする方法がありましたが,D言語では同一モジュールのクラス間はfriend関係なので,その方法は使えませんでした.
@disableを使うとそれができます.
c++1xの =delete みたいなものですね.