Из D Language Reference, opIndexAssign имеет подпись:Правильно Перегрузки opIndexAssign
type opIndexAssign(type value, size_t index0, ...);
Что бы значение возвращаемого значения, так как в нем говорится, что высказывания типа:
Class[1, 3] = 5;
эквивалентно:
Class.opIndexAssign(5, 1, 3);
Я не вижу использования возвращаемого значения в этом виде , но почему ссылка на D-язык использует вышеупомянутую перегрузку, которая возвращает что-то?
Компилятор, по-видимому, принимает как недействительные, так и непустые возвращаемые типы, но то, что является «правильным».