On 4/1/25 10:08 AM, Mike Parker wrote: > ``` > scope ctx = new Context; > ``` > > This will allocate the class instance on the stack so the destructor > will be called when the scope exits.
Another option is to call the destructor explicitly through destroy(): import std.stdio; class C { ~this() { writeln("Goodbye"); } } void foo() { auto c = new C(); scope (exit) { destroy(c); // <-- HERE } } void main() { writeln("Calling foo"); foo(); writeln("Exiting main"); } Ali