Using dmd 2.054 on osx: Calling a instance method after using clear() on an instance is giving me a bus error. The instance fields look like they are cleared ok, just can't safely call a method. I think this used to work after the object was cleared, and was the reason for clear() over the deprecated delete.
Dan =-=-= Sample: import std.stdio; class A { string name = "none"; void print() {writeln(name);} } void main() { A a = new A; a.print(); // none a.name = "xyzzy"; a.print(); // xyzzy clear(a); writeln(a.name); // a is reinit to "none" as expected a.print(); // bus error? } Output: $ dmd clearbug.d $ ./clearbug none xyzzy none Bus error