The difference between T[] opIndex() and T[] opSlice()

Imperatorn johan_forsberg_86 at hotmail.com
Tue Oct 3 18:09:55 UTC 2023


On Tuesday, 3 October 2023 at 17:52:20 UTC, Paul Backus wrote:
> On Tuesday, 3 October 2023 at 16:45:39 UTC, Steven 
> Schveighoffer wrote:
>>
>> OK, so it's not as bad as I thought, but surely the compiler 
>> should recognize that `opIndexAssign(val, idx)` doesn't work, 
>> but `opIndex(idx) = val` does?
>
> Maybe. On the other hand, if you make a typo in the body of 
> your templated `opIndexAssign` overload, do you want the 
> compiler to silently fall back to `opIndex`, or do you want an 
> error? There are pros and cons to both approaches.
>
> At the very least, the spec should do a better job of 
> documenting when the compiler will try a fallback and when it 
> won't.

Who will be the hero and add the documentation? 😇


More information about the Digitalmars-d-learn mailing list