DIP 1008 Preliminary Review Round 1

Meta via Digitalmars-d digitalmars-d at puremagic.com
Fri May 19 18:23:24 PDT 2017


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- at 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- at nogc "paints" connecting nodes 
which in turn paint *their* connecting nodes, etc.


More information about the Digitalmars-d mailing list