http://d.puremagic.com/issues/show_bug.cgi?id=8164
Summary: BigInt from char[] too Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: enhancement Priority: P2 Component: Phobos AssignedTo: nob...@puremagic.com ReportedBy: bearophile_h...@eml.cc --- Comment #0 from bearophile_h...@eml.cc 2012-05-30 04:57:00 PDT --- I have code that generates arrays of mutable chars, and I have to convert them to BigInts. I'd like this to be allowed: import std.bigint: BigInt; void main() { char[] s1 = "123".dup; assert(BigInt(s1) == 123); char[] s2 = "0xABC".dup; assert(BigInt(s2) == 2748); } DMD 2.060alpha gives: ...\dmd2\src\phobos\std\bigint.d(97): Error: function std.internal.math.biguintcore.BigUint.fromHexString (string s) is not callable using argument types (char[]) ...\dmd2\src\phobos\std\bigint.d(97): Error: cannot implicitly convert expression (s[2u..__dollar]) of type char[] to string ...\dmd2\src\phobos\std\bigint.d(99): Error: function std.internal.math.biguintcore.BigUint.fromDecimalString (string s) is not callable using argument types (char[]) ...\dmd2\src\phobos\std\bigint.d(99): Error: cannot implicitly convert expression (s) of type char[] to string test.d(4): Error: template instance std.bigint.BigInt.__ctor!(char[]) error instantiating Current workaround: I use a cast: char[] s1 = "123".dup; assert(BigInt(cast(string)s1) == 123); -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------