On Friday, 29 August 2014 at 06:39:20 UTC, monarch_dodra wrote:
On Friday, 29 August 2014 at 02:38:54 UTC, H. S. Teoh via
Digitalmars-d wrote:
Maybe a more relevant question might be, is there any existing
code that
*isn't* broken by structs not being destructed? (D-structed,
har har.)
Well, this new change *could* greatly increase the amount of
"allocation during destruction" errors we are getting. I've
seen a fair share of these in learn, whereas a class destructor
allocates.
Structs will now also be more vulnerable to this problem too. I
wouldn't be surprised if this pull instantaneously introduced a
fair amount of breakage in client code.
Jacob Carlborg just recently brought this up in another thread.
Isn't it kind of consensus that calling a destructor from the GC
is not a good idea because of the restrictions that apply in this
context? Andrei even wanted to deprecate destructors for classes
because of this. Maybe a better direction would be to separate
the concepts of destruction and finalization, and introduce two
kinds of "destructors" for them.