[phobos] length implementation for Range

Masahiro Nakagawa repeatedly at gmail.com
Tue May 4 13:51:07 PDT 2010


I agree. But, length of some range objects in Phobos isn't a property.
Is this a bug? If so, I will commit.


On Wed, 05 May 2010 04:28:06 +0900, Andrei Alexandrescu  
<andrei at erdani.com> wrote:

> I think the length should be a property.
>
> Andrei
>
> Masahiro Nakagawa wrote:
>> 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