構造体が左辺値として使用されないようにする方法はありますか (変数として使用できません)?
コンストラクターと opAssign を無効にしようとしましたが、最終的には関数から割り当てることができます。
unittest
{
//mystruct doesntCompile;
mystruct shouldntCompile = makeMyStruct();
}
struct mystruct
{
@disable this();
@disable this(this);
@disable void opAssign(ref mystruct);
@disable void opAssign(mystruct);
this(int dummyArgument){}
}
mystruct makeMyStruct()
{
return mystruct(0);
}