RFC: reference counted Throwable

Dicebot via Digitalmars-d digitalmars-d at puremagic.com
Sat Sep 20 00:25:00 PDT 2014


On Saturday, 20 September 2014 at 02:26:49 UTC, Walter Bright 
wrote:
> On 9/19/2014 7:04 PM, Vladimir Panteleev wrote:
>> On Saturday, 20 September 2014 at 01:19:05 UTC, Walter Bright 
>> wrote:
>>> Having a compiler switch to change the behavior of every 
>>> module in
>>> incompatible ways would be a disastrous balkanization.
>>
>> Don't -version, -debug etc. have this problem anyway?
>
> I submit that it is a poor practice to write code that way.
>
>
>> Anyway, if you change the name mangling, then you'll get link 
>> errors instead of
>> mysterious crashes.
>>
>>> It has to be done in such a way that the ARC and the existing 
>>> exceptions can
>>> coexist.
>>
>> How?
>
> Good question. It's a challenge. But it has to be done, or D 
> will divide in half and both halves will fail.
>
>
> We've had this discussion numerous times before - "throw the 
> magic compiler switch" and D becomes an ARC system and 
> everything is wonderful. It cannot work. ARC and GC are not 
> equivalent.

I am fully with Walter here. Only way to do it in acceptable way 
is to make both  reference counted exceptions and current ones 
co-exist. Anything else means that we will need to distribute 4 
builds of Phobos - debug-nogc, debug-gc, release-nogc, 
release-gc. Guess you can smell exponential explosion here as 
well as I do.


More information about the Digitalmars-d mailing list