Bug 8186 – Formatting class object has an alias this to int* field is broken.

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
phobos
Product
D
Version
D2
Platform
All
OS
All
Creation time
2012-06-02T02:59:00Z
Last change time
2012-06-02T06:39:57Z
Keywords
pull, rejects-valid
Assigned to
nobody
Creator
k.hara.pg

Comments

Comment #0 by k.hara.pg — 2012-06-02T02:59:18Z
From github: https://github.com/D-Programming-Language/phobos/pull/575#issuecomment-6075942 import std.stdio; class B { int*a; this(){ a = new int; } alias a this; } void main(){ writeln(B.init); } dmd/phobos/std/format.d(2577): Error: template std.format.formatValue matches more than one template declaration, dmd/phobos/std/format.d(2151):formatValue(Writer,T,Char) if (is(T == class) && !is(T == enum)) and dmd/phobos/std/format.d(2476):formatValue(Writer,T,Char) if (isPointer!(T))
Comment #1 by k.hara.pg — 2012-06-02T03:14:18Z
Comment #2 by github-bugzilla — 2012-06-02T05:00:15Z
Commits pushed to master at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/064a2c50156faeffc3d20980198eea53d50e0b76 fix Issue 8186 - Formatting class object has an alias this to int* field is broken. https://github.com/D-Programming-Language/phobos/commit/f30dc4d69d849a6ce129a84ad20bf0b277d8eb81 Merge pull request #616 from 9rnsr/fix_fmt Issue 8186 - Formatting class object has an alias this to int* field is broken.