toString() doesn't work inside a class member function. import std.string; class A { void f() { string s = toString(5); } }
This errors with junk.d(19): function object.Object.toString () does not match parameter types (int) This is a nuisance and a wart (though not a bug per-se). If the language really can't handle distinguishing this.toString() from toString(int), then std.string.toString really should have a different name. It can be solved somewhat by documenting clearly that to!(string)(int) be used instead, which seems silly to me. I'm irritated by the 3 extra chars required to type a to!(type) template. .toString() works around the problem, but why should it be needed? This is unfortunate. Does this bother anyone else? If not, I'll return to my lurking cave :-)