metastrings.ToString
alcohol
alcohol_thanks at hotmail.co.jp
Thu Apr 5 05:57:07 PDT 2007
A bug in Phobos.
--- foo.d ---
import std.metastrings;
pragma(msg,ToString!(0x100000000));
void main() {}
-------------
> dmd foo.d
0
D:\tool\program\d\dmd\bin\..\..\dm\bin\link.exe test,,,user32+kernel32/noi;
An above result is bug.
A correct result is:
> dmd test.d
4294967296
D:\tool\program\d\dmd\bin\..\..\dm\bin\link.exe test,,,user32+kernel32/noi;
Need To modify std/metastrings.d:
/// ditto
template ToString(long I)
{
static if (I < 0)
const char[] ToString = "-" ~ ToString!(cast(ulong)(-I));
else
const char[] ToString = ToString!(cast(uint)I); // <- "uint" to "ulong"
}
More information about the Digitalmars-d-bugs
mailing list