Andrei Alexandrescu:

That's pretty surprising. "Major bug" doesn't begin to describe it.

If you want later I will add it to Bugzilla. But maybe before that other people will want to write some other comments in this thread.


Unions should call no constructors and no destructors.

But this doesn't address the GC precision problem.

Some kind of tagging field (or equivalent information) isn't always available, but in many cases it's available, so in many practical cases I am able to put something useful inside a standard method like activeField(). If this method is available for the GC, it's not unconceivable to use it to call the right union field destructor when the union instance goes out of scope :-)

The precision of the GC is not a binary thing, even a not fully precise GC is useful, and probably more precision is better than less precision. Even if activeField() is not always usable, an increase of GC precision seems an improvement to me.

Bye,
bearophile

Reply via email to