On Friday, 19 May 2017 at 15:45:28 UTC, Mike Parker wrote:
DIP 1008 is titled "Exceptions and @nogc".
https://github.com/dlang/DIPs/blob/master/DIPs/DIP1008.md
All review-related feedback on and discussion of the DIP should
occur in this thread. The review period will end at 11:59 PM ET
on June 2 (3:59 AM GMT June 3), or when I make a post declaring
it complete.
At the end of Round 1, if further review is deemed necessary,
the DIP will be scheduled for another round. Otherwise, it will
be queued for the formal review and evaluation by the language
authors.
Extensive discussion of this DIP has already taken place in two
threads, both linked from the document. You may find it
beneficial to skim through those threads before posting any
feedback here.
Thanks in advance to all who participate.
Destroy!
Like others, I do not like the special-casing of `throw new`.
However, several designs have already been explored and found
lacking. This proposal also has the advantage that it (hopefully)
doesn't break existing code and all existing code gets the
benefit for free. I think this benefit has been hugely
underestimated; we must consider that large swathes of code that
were previously non-@nogc due to exception allocation can now be
*inferred automatically* to be @nogc. That's a huge advantage and
may be worth the special case.
Because of the transitive nature of attributes, even one function
in the call graph that is non-@nogc "paints" connecting nodes
which in turn paint *their* connecting nodes, etc.