January 13, 2020 [Issue 20502] New: Converting std.typecons.RefCounted!T to a string gives T's storage location instead of T's fields when T is a struct without an explicit toString | ||||
|---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=20502 Issue ID: 20502 Summary: Converting std.typecons.RefCounted!T to a string gives T's storage location instead of T's fields when T is a struct without an explicit toString Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: minor Priority: P1 Component: phobos Assignee: nobody@puremagic.com Reporter: n8sh.secondary@hotmail.com Converting std.typecons.RefCounted!T to a string gives T's storage location instead of T's fields when T is a struct without an explicit toString. Demonstration: --- void main() { import std.typecons : refCounted; import std.stdio : writeln; writeln(123); // "123" writeln(refCounted(123)); // "123" struct A { string toString() { return "a"; } } writeln(A.init); // "a" writeln(refCounted(A.init)); // "a" // This one doesn't match: struct B { int x; } writeln(B(123)); // "B(123)" writeln(refCounted(B(123))); // "RefCounted!(B, cast(RefCountedAutoInitialize)0)(RefCountedStore(558C7FFBC660))" } --- -- | ||||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply