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.