[Issue 5970] format("%d", BigInt) problem
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Wed Aug 24 18:59:16 PDT 2011
http://d.puremagic.com/issues/show_bug.cgi?id=5970
--- Comment #1 from bearophile_hugs at eml.cc 2011-08-24 18:59:13 PDT ---
import std.bigint, std.conv;
void main() {
string s = text(BigInt(1));
}
In DMD 2.055beta it gives:
...\src\phobos\std\conv.d(829): Error: function std.bigint.BigInt.toString
(void delegate(const(char)[]) sink, string formatString) const is not callable
using argument types ()
...\src\phobos\std\conv.d(829): Error: expected 2 function arguments, not 0
See also notes in bug 4122 :
My suggestion is to change the signature of BigInt.toString() from this:
void toString(void delegate(const (char)[]) sink, string formatString) const {
To something like this:
string toString(void delegate(string) sink=null, string formatString="d") const
{
And make it return a string filled with the decimal representation when sink is
null; and to return an empty string when sink!=null.
--------
Eventually the signature can even become:
string toString(void delegate(string) sink=null, string formatString="d",
string thousands="") const {
So if thousands="_" the number gets represented as:
"100_000_000_000"
But this is less essential.
--
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