次のコードを考えてみましょう:
static if (!is(MyStruct))
{
struct MyStruct
{
}
}
static if (is(MyStruct))
{
static assert(0);
}
私の最初の理解は、宣言の順序(グローバルスコープ内)は重要ではありません。
しかし、この場合、 static if
の順序は、プログラムがコンパイルされるかどうかの違いになります。
したがって、Dのコンパイル時の評価段階は、手続き的な機能(C/C ++のような)、宣言的な機能、または何か他のものですか?それは現在何ですか、そしてそれは何が計画されていますか(両者が異なる場合)?
編集:
私はちょうど、問題はここで終わらないことに気づいた。 .tupleof
を使用して現在のモジュールのメンバーを列挙し、同じタイプの問題を作成する場合、静的