On Wednesday, 10 July 2013 at 08:16:55 UTC, Mr. Anonymous wrote:
I thought about allowing attributes to be applied to a whole module, such as:
@safe @nogc module foo_bar;

Then, "@system", "@allowheap" and friends could be used where needed.

You can do it, but it is not always possible to "disable" attribute/qualifier.

@safe:
    @system void foo() {} // ok

immutable:
    int a; // oh, where is my "mutable" keyword?

pure:
    void foo(); // oops, no "impure"

If a generic notion becomes accepted that even default behavior should have its own attribute, this will become less of an issue.

Reply via email to