[Issue 6447] iota(BigInt) too

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Mon Jan 26 04:23:10 PST 2015


https://issues.dlang.org/show_bug.cgi?id=6447

--- Comment #13 from bearophile_hugs at eml.cc ---
I keep this issue open because this still doesn't work:


void main() {
    import std.bigint: BigInt;
    import std.range: iota;
    iota(BigInt(1), BigInt(100), BigInt(5));
    iota(BigInt(1), BigInt(100), 5);
}



test.d(4,9): Error: template std.range.iota cannot deduce function from
argument types !()(BigInt, BigInt, BigInt), candidates are:
...\dmd2\src\phobos\std\range\package.d(4008,6):        std.range.iota(B, E,
S)(B begin, E end, S step) if ((isIntegral!(CommonType!(B, E)) ||
isPointer!(CommonType!(B, E))) && isIntegral!S)
...\dmd2\src\phobos\std\range\package.d(4098,6):        std.range.iota(B, E)(B
begin, E end) if (isFloatingPoint!(CommonType!(B, E)))
...\dmd2\src\phobos\std\range\package.d(4105,6):        std.range.iota(B, E)(B
begin, E end) if (isIntegral!(CommonType!(B, E)) || isPointer!(CommonType!(B,
E)))
...\dmd2\src\phobos\std\range\package.d(4168,6):        std.range.iota(E)(E
end)
...\dmd2\src\phobos\std\range\package.d(4176,6):        std.range.iota(B, E,
S)(B begin, E end, S step) if (isFloatingPoint!(CommonType!(B, E, S)))
test.d(4,9):        ... (1 more, -v to show) ...
test.d(5,9): Error: template std.range.iota cannot deduce function from
argument types !()(BigInt, BigInt, int), candidates are:
...\dmd2\src\phobos\std\range\package.d(4008,6):        std.range.iota(B, E,
S)(B begin, E end, S step) if ((isIntegral!(CommonType!(B, E)) ||
isPointer!(CommonType!(B, E))) && isIntegral!S)
...\dmd2\src\phobos\std\range\package.d(4098,6):        std.range.iota(B, E)(B
begin, E end) if (isFloatingPoint!(CommonType!(B, E)))
...\dmd2\src\phobos\std\range\package.d(4105,6):        std.range.iota(B, E)(B
begin, E end) if (isIntegral!(CommonType!(B, E)) || isPointer!(CommonType!(B,
E)))
...\dmd2\src\phobos\std\range\package.d(4168,6):        std.range.iota(E)(E
end)
...\dmd2\src\phobos\std\range\package.d(4176,6):        std.range.iota(B, E,
S)(B begin, E end, S step) if (isFloatingPoint!(CommonType!(B, E, S)))
test.d(5,9):        ... (1 more, -v to show) ...

--


More information about the Digitalmars-d-bugs mailing list