Greetings. I've been playing around with opDispatch and toString methods and I found strange behavior.
Example: import std.stdio; struct Test { string opDispatch( string key )() { return "I am dispatching in struct!"; } string toString() { return "I am Test struct!"; } } class Test2 { string opDispatch( string key )() { return "I am dispatching in class!"; } string toString() { return "I am Test class!"; } } void main() { Test test = Test(); writeln ( test.s ); // I am dispatching in struct! writeln ( test.s() ); // I am dispatching in struct! writeln ( test ); // NOTHING :( But should return "I am Test struct!" Test2 test2 = new Test2(); writeln ( test2.s ); // I am dispatching in class! writeln ( test2.s() ); // I am dispatching in class! writeln ( test2 ); // NOTHING :( But should return "I am Test class!" } Is it a feature or a bug? Best regards, Damian Ziemba