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? 😇

Reply via email to