On 12/30/2012 07:32 AM, Zhenya wrote:
Hi!
Explain me please why this code fails in runtime:
import std.stdio;
class Foo
{
~this() {writeln(typeid(this).toString ~ "is dead");}
}
void main()
{
new Foo;
}
Application error:
core.exception.InvalidMemoryOperationError
My guess is that by the time that destructor is executed, the runtime
has been shut down sufficiently that the ~ operator cannot work. The
following has the same error:
import std.stdio;
string foo()
{
return "abc";
}
class Foo
{
~this() {writeln(foo() ~ "xyz");}
}
void main()
{
new Foo;
}
Ali