Здравствуйте, alex_public, Вы писали:
_>Кстати, в библиотеки алгоритмов D static if частенько используется для оптимизации. Типа есть универсальная версия алгоритма для диапазона с последовательным доступом и местами её ускорение, если переданный диапазон поддерживает произвольный доступ.
Ну, в плюсах тоже оптимизатор может выкинуть лишний код, но! Этот выкинутый код всё-равно будет валидным.
А в твоём примере одна из выкидываемых частей ф-ии получается невалидной, потому что нельзя одновременно вернуть *t и t. Я это имел ввиду, когда говорил про "режет глаз".