http://d.puremagic.com/issues/show_bug.cgi?id=9352
Seems like dtors are a minefield of hidden and dangerous bugs, due to
them not being used (and therefore tested) very often. :-/
T
--
Lawyer: (n.) An innocence-vending machine, the effectiveness of which
depends on how much money is inserted.

Note that upon further investigation, the problem seems to be
more about delegates than dtors. The delegate can point to the
wrong struct, or to locals instead of the struct... but you can
"access" both; it compiles, but does the wrong thing.
We're talking in the bugzilla as well as here:
https://github.com/robik/ConsoleD/issues/3

Note that upon further investigation, the problem seems to be more
about delegates than dtors. The delegate can point to the wrong
struct, or to locals instead of the struct... but you can "access"
both; it compiles, but does the wrong thing.
We're talking in the bugzilla as well as here:
https://github.com/robik/ConsoleD/issues/3

Addendum: the latest git HEAD seems to have fixed the problem of the
delegate context pointer being used for both locals and &this. But the
problem of delegates pointing to invalidated stack variables still
exists.
T
--
Programming is not just an act of telling a computer what to do: it is
also an act of telling other programmers what you wished the computer to
do. Both are important, and the latter deserves care. -- Andrew Morton

Not really. It's because it's an intrinsically difficult concept.
The destructor is called at end-of-life of the struct. This means
that in every possible part of the language, you have to know
what the end-of-life is. So interaction with other parts of the
language is inevitable, there's an explosion of special cases.
(By contrast, something like 'pure' is a very simple language
feature: you just need to iterate over all the code that's marked
pure, and generate an error if you find anything that isn't pure).