[Issue 9325] New: writeln of const class instance
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Wed Jan 16 01:45:55 PST 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9325
Summary: writeln of const class instance
Product: D
Version: D2
Platform: x86
OS/Version: Windows
Status: NEW
Keywords: rejects-valid
Severity: normal
Priority: P2
Component: Phobos
AssignedTo: nobody at puremagic.com
ReportedBy: bearophile_hugs at eml.cc
--- Comment #0 from bearophile_hugs at eml.cc 2013-01-16 01:45:53 PST ---
This program:
import std.stdio: writeln;
class Foo { int x = 5; }
void main() {
auto f = new Foo;
writeln(f);
}
Prints (dmd 2.062alpha):
test1.Foo
While this:
import std.stdio: writeln;
class Foo { int x = 5; }
void main() {
const f = new Foo;
writeln(f);
}
Gives:
...\dmd2\src\phobos\std\format.d(2435): Error: template instance
formatObject!(LockingTextWriter, const(Foo), char)
formatObject!(LockingTextWriter, const(Foo), char) does not match template
declaration formatObject(Writer, T, Char)(ref Writer w, ref T val, ref
FormatSpec!(Char) f) if (hasToString!(T, Char))
...\dmd2\src\phobos\std\format.d(2435): Error: function expected before (), not
formatObject!(LockingTextWriter, const(Foo), char) of type void
...\dmd2\src\phobos\std\format.d(2863): Error: template instance
std.format.formatValue!(LockingTextWriter, const(Foo), char) error
instantiating
...\dmd2\src\phobos\std\format.d(415): instantiated from here:
formatGeneric!(LockingTextWriter, const(Foo), char)
...\dmd2\src\phobos\std\stdio.d(714): instantiated from here:
formattedWrite!(LockingTextWriter, char, const(Foo))
...\dmd2\src\phobos\std\stdio.d(1620): instantiated from here:
write!(const(Foo),char)
test2.d(5): instantiated from here: writeln!(const(Foo))
...\dmd2\src\phobos\std\format.d(415): Error: template instance
std.format.formatGeneric!(LockingTextWriter, const(Foo), char) error
instantiating
...\dmd2\src\phobos\std\stdio.d(714): instantiated from here:
formattedWrite!(LockingTextWriter, char, const(Foo))
...\dmd2\src\phobos\std\stdio.d(1620): instantiated from here:
write!(const(Foo),char)
test2.d(5): instantiated from here: writeln!(const(Foo))
...\dmd2\src\phobos\std\stdio.d(714): Error: template instance
std.format.formattedWrite!(LockingTextWriter, char, const(Foo)) error
instantiating
...\dmd2\src\phobos\std\stdio.d(1620): instantiated from here:
write!(const(Foo),char)
test2.d(5): instantiated from here: writeln!(const(Foo))
...\dmd2\src\phobos\std\stdio.d(1620): Error: template instance
std.stdio.File.write!(const(Foo),char) error instantiating
test2.d(5): instantiated from here: writeln!(const(Foo))
test2.d(5): Error: template instance std.stdio.writeln!(const(Foo)) error
instantiating
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list