<div dir="auto">default(attributes..) is no needed. You can already do this by:<div dir="auto"><br></div><div dir="auto">pure @safe:</div><div dir="auto">// your code</div><div dir="auto"><br></div><div dir="auto">But what is needed is some way to disable those attributes.  As you mentioned  one way could be done by allowing this:</div><div dir="auto"><br></div><div dir="auto">pure(false)  or pure!false or @disable(pure,@nogc...)</div><div dir="auto"><br></div><div dir="auto">From implementation point of view it is not hard.  I have already implemented this before. I have even write some old DIP. But there is new DIP process so someone need to write a new one and need to be able to get it throw new DIP process. And I do not feel I have enough strength to do this right now. </div></div><br><div class="gmail_quote"><div dir="ltr">čt 20. 12. 2018 8:50 odesílatel Dgame via Digitalmars-d-announce <<a href="mailto:digitalmars-d-announce@puremagic.com">digitalmars-d-announce@puremagic.com</a>> napsal:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Thursday, 13 December 2018 at 18:29:39 UTC, Adam D. Ruppe <br>
wrote:<br>
> The attribute spam is almost longer than the function itself.<br>
<br>
I often wished for something like<br>
<br>
----<br>
module foo.bar;<br>
<br>
default(@safe, pure);<br>
<br>
function foo() { } // is annotated with @safe & pure<br>
<br>
@deny(pure) // or pure(false) as I suggested a long time ago<br>
function bar() { } // is annotated only with @safe<br>
----<br>
<br>
That would IMO lighten the burden.<br>
</blockquote></div>