[Issue 2287] New: to!(string)(struct) should work if struct has toString() function
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sat Aug 16 16:45:26 PDT 2008
http://d.puremagic.com/issues/show_bug.cgi?id=2287
Summary: to!(string)(struct) should work if struct has toString()
function
Product: D
Version: 2.018
Platform: PC
OS/Version: Windows
Status: NEW
Severity: normal
Priority: P2
Component: Phobos
AssignedTo: bugzilla at digitalmars.com
ReportedBy: dsimcha at yahoo.com
import std.stdio, std.conv;
struct Foo {
string toString() {
return "test";
}
}
void main() {
Foo test;
//Doesn't work. std.conv unaware of foo.toString().
writefln(to!(string)(test));
}
Obviously, this is a very simplified test case, but when writing generic code,
it can become a legitimate issue. Also note that the following test case,
which just changes Foo to a class, actually works.
import std.stdio, std.conv;
class Foo {
this(){}
string toString() {
return "test";
}
}
void main() {
Foo test = new Foo;
writefln(to!(string)(test));
}
I've found the bug and the fix is a dead simple two-liner. I'll attach the
diffs against conv.d.
--
More information about the Digitalmars-d-bugs
mailing list