[phobos] std.string.cmp
Andrei Alexandrescu
andrei at erdani.com
Tue Jan 11 00:27:46 PST 2011
Fixed.
Andrei
On 1/10/11 11:40 PM, Brad Roberts wrote:
> Sigh. The reverted version doesn't build on 64 bit:
>
> std/string.d(150): Error: cannot implicitly convert expression (s1.length -
> s2.length) of type ulong to int
> std/regexp.d(1714): Error: template instance
> std.string.icmp!(char,immutable(char)) error instantiating
>
> I agree that sizediff_t is much more convenient. Maybe it is better to go ahead
> and change the opCmp return type.
>
> On 1/10/2011 11:11 PM, Andrei Alexandrescu wrote:
>> I reverted to int. I was worried about a slight inefficiency but I guess it's
>> hardly measurable.
>>
>> Andrei
>>
>> On 1/10/11 10:56 PM, Brad Roberts wrote:
>>> Hrm.. I think I'd like to object to today's change of std.string.cmp to return
>>> sizediff_t rather than int. The reason.. Object.opCmp returns int. So, using
>>> cmp is needlessly painful. A simple cast is dangerous.. consider what happens
>>> if some how the cmp returns a multiple of 2^32. But I guarantee that a simple
>>> cast is what most people that run into the mismatch will do.
>>>
>>> Thoughts?
>>> _______________________________________________
>>> phobos mailing list
>>> phobos at puremagic.com
>>> http://lists.puremagic.com/mailman/listinfo/phobos
>> _______________________________________________
>> phobos mailing list
>> phobos at puremagic.com
>> http://lists.puremagic.com/mailman/listinfo/phobos
>
> _______________________________________________
> phobos mailing list
> phobos at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/phobos
More information about the phobos
mailing list