On Saturday, 29 December 2012 at 01:56:04 UTC, Simen Kjaeraas
wrote:
@property auto length()
{
CommonType!(staticMap!(LengthType, R)) result = 0;
foreach (i, Unused; R)
{
result += source[i].length;
}
return result;
}
This would thus support BigInt .length just as well as size_t,
byte,
or whatever.
This doesn't solve the issue. For example, even with your update,
the code snippet I provided in the original post with iota and
chain would still break (assuming iota(size_t.max).length returns
a size_t).
Also, if we allow BigInt, even with better support in CommonType
it would significantly complicate Phobos with LengthType!Range
popping up everywhere.