------- Comment #4 from  2009-01-28 10:31 
What about allowing a template signature for opIndex

T opIndex(size_t i)();

that is only valid if there's no classical opIndex defined. For types with such
an opIndex, rewrite instance[j] as instance.opIndex!(j)() for compile-time
constant indices. opSlice could get the same treatment.

While it'd still be a special case, it'd be one that could just be added to the
list of operator overloads without confusing people unduly.


Reply via email to