https://issues.dlang.org/show_bug.cgi?id=14696
Suleyman Sahmi (سليمان السهمي) <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED CC| |[email protected] Resolution|FIXED |--- --- Comment #12 from Suleyman Sahmi (سليمان السهمي) <[email protected]> --- The following case is still affected: ``` extern(C) void puts(const char*); struct S { int i; ~this() { puts("D"); } } S makeS(int i) { return S(i); } void main() { int var = true ? 1 : makeS(makeS(1).i - 1).i; } ``` The program prints "D" at runtime which means the destructor is called when it shouldn't. --
