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.

Reply via email to