Meh*_*dad 5 terminology d declarative compile-time static-if
请考虑以下代码:
static if (!is(MyStruct))
{
struct MyStruct
{
}
}
static if (is(MyStruct))
{
static assert(0);
}
Run Code Online (Sandbox Code Playgroud)
我最初的理解是,声明的顺序(在全球范围内)在D中无关紧要.
但是,在这种情况下,static ifs 的顺序决定了程序是否编译.
因此,D的编译时评估阶段是程序性特征(如C/C++),声明性特征还是其他什么?目前是什么,计划是什么(如果两者不同)?
我刚刚意识到,问题甚至还没有结束.一,会发生什么static if用途.tupleof枚举当前模块的成员,并创建同一类型的问题?