...ing logging 4.0

はてなブログに移行しました。D言語の話とかいろいろ。

ふとdmdをいじめてやろうと思った

void main()
{
	delete a = new class {};
}

a.d(5): Error: module a is not an lvalue
a.d(5): Error: cannot delete type void
a.d(5): Error: delete module a is not an lvalue
a.d(5): Error: cannot implicitly convert expression ((class __anonclass1 : Object

{

void* this;

}

) , new __anonclass1) of type a.main.__anonclass1 to void

無名クラスにメソッドとか追加するとエラーメッセージがどんどん長くなる.
ていうか,void* this;とかの隠しメンバの存在をエラーメッセージで見たのは初めてだ.