Revised RFC on range design for D2
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Fri Oct 3 07:38:18 PDT 2008
KennyTM~ wrote:
> Sergey Gromov wrote:
>> Thu, 02 Oct 2008 15:03:42 -0500,
>> Andrei Alexandrescu wrote:
>>> Yah, overloaded ops are due for an overhaul. I'm almost afraid to
>>> ask... any ideas? :o)
>>>
>>> One goal is to fix opIndexAssign and make it work similar to the way
>>> it works in arrays, e.g. a[b] += c. Indexing into hash tables is a
>>> good test bed.
>>
>> What's wrong with a.opIndexAssign(b, a.opIndex(b) + c)?
>
> Probably performance.
>
> Consider seeking to the end of a 100M-node single-linked list, and
> increase its content by 1.
>
> But I agree that if something like .opIndexAddAssign() is not defined,
> the compiler should fall back to use a.opIndexAssign(b, a.opIndex(b)+c).
>
> (The same idea can be extended to properties and .opSlice() )
Glad you brought opIndexAddAssign up. I think a good solution would
avoid adding all opIndexXxxAssign functions. I think even opXxxAssign
are undesirable.
Andrei
More information about the Digitalmars-d-announce
mailing list