import std.thread; import std.stdio; class Main { this() { writefln("starting"); Thread worker = new Thread(&workerMain); worker.start(); } ~this() { writefln("ending"); } int workerMain() { writefln("In Thread"); return 0; } Thread worker; } int main() { Main m = new Main(); assert(m.worker.getState() == Thread.TS.TERMINATED, "Thread not done!"); return 0; }