带注释的单元测试

对于模板化代码,通常有用的是验证函数属性(例如,@nogc 是正确推断的。为了确保这个特定的测试,因此键入整个 unittest 可以注释

@safe @nogc pure nothrow unittest
{
    import std.math;
    assert(exp(0)  ==  1);
    assert(log(1)  ==  0);
}

请注意,当然在 D 中,每个块都可以使用属性进行注释,编译器当然会验证它们是否正确。例如,以下内容类似于上面的示例:

unittest
{
    import std.math;
    @safe {
        assert(exp(0)  ==  1);
        assert(log(1)  ==  0);
    }
}