class A
{
        private bool isA() const pure @safe // OK
        {
                return true;
        }
        
        invariant() @safe pure const // Error, statement block expected
        // @safe pure const invariant() // OK
        {
                assert(isA);
        }
}

Does sufix-attribute style prohibited for invariant? Does it have
any sence to mark it with this attributes? As for me invariant
have to be const and pure by definition.

Also:
class A
{
        
        invariant // Error: use 'immutable' instead of 'invariant'
        {
                assert(true);
        }
}

http://dlang.org/contracts.html#Invariants

[compiled with http://dlang.org/]

Reply via email to