← Back to index
|
Original Bugzilla link
Bug 7660 – toImpl conflict in std.conv
Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
phobos
Product
D
Version
D2
Platform
All
OS
All
Creation time
2012-03-07T10:38:00Z
Last change time
2012-04-21T00:22:07Z
Assigned to
nobody
Creator
admin
Comments
Comment #0
by admin — 2012-03-07T10:38:41Z
/usr/include/d/std/conv.d(244): Error: template std.conv.toImpl(T,S) if (isImplicitlyConvertible!(S,T)) toImpl(T,S) if (isImplicitlyConvertible!(S,T)) matches more than one template declaration, /usr/include/d/std/conv.d(932):toImpl(T,S) if (is(S : Object) && isSomeString!(T)) and /usr/include/d/std/conv.d(965):toImpl(T,S) if (is(S == struct) && is(typeof(&S.init.toString)) && isSomeString!(T)) ----- import std.conv : to; class Bar {} struct Foo { Bar bar; alias bar this; static Foo c() { Foo ret; ret.bar = new Bar(); return ret; } } void main() { Foo foo = Foo.c(); to!string(foo); } -----
Comment #1
by admin — 2012-03-07T11:07:58Z
https://github.com/D-Programming-Language/phobos/pull/482
Comment #2
by github-bugzilla — 2012-04-20T22:24:30Z
Commits pushed to master at
https://github.com/D-Programming-Language/phobos
https://github.com/D-Programming-Language/phobos/commit/30d9405ad48cbaef934af897e85ff8514a33e579
added tests for bug 7660
https://github.com/D-Programming-Language/phobos/commit/803aa7ccb04dae273169b70fbff4ecdcd2ada884
Merge pull request #482 from Dav1dde/conv2 Bug 7660, incorrect toImpl overload for struct with alias this to class