[phobos] length implementation for Range

Masahiro Nakagawa repeatedly at gmail.com
Tue May 4 10:06:56 PDT 2010


Hi list,

This post is my first post at Phobos ML :)

I have one question about hasLength.

Current implementation from std.range:
-----
template hasLength(R)
{
       enum bool hasLength = is(typeof(R.init.length) : ulong) &&
           !isNarrowString!R;
}
-----
This implementation has following issues.

http://d.puremagic.com/issues/show_bug.cgi?id=2873
http://d.puremagic.com/issues/show_bug.cgi?id=3508

But, hasLength returns true when length method is marked as @property.

We should fix the above issue or length method should be marked as  
@property?
If latter, some ranges in phobos are incomplete.


More information about the phobos mailing list