История изменений
Исправление red75prim, (текущая версия) :
Ты можешь без потери смысла переписать код на
Ну и? Вариадики можно переписать как линкед-листы и делать всё в рантайме. Они тоже мономорфные?
То, что сейчас нельзя поставить const перед функцией zip, и сделать её гарантированно compile time - это не принципиальное ограничение, а ещё не стабилизированная фича.
Напишите variadic templates на C++-98 (10 лет с выхода), чтобы сравнивать яблоки с яблоками.
Она принимает тип T и U: Zip,
Один параметр. Одного типа.
vvvv
fn zip(self) -> ...
^^^^
С этой стороны тоже один.
Не двух типов, рекурсивно построенных, а произвольного их числа.
Без потери смысла я могу переписать функцию принимающую (T1, T2, T3, …) в функцию принимающую (T1, (T2, (T3, … ))).
Вы уже определитесь где можно переписывать, а где нельзя.
Исходная версия red75prim, :
Ты можешь без потери смысла переписать код на
Ну и? Вариадики можно переписать как линкед-листы и делать всё в рантайме. Они тоже мономорфные?
Она принимает тип T и U: Zip,
Один параметр. Одного типа.
vvvv
fn zip(self) -> ...
^^^^
С этой стороны тоже один.
Не двух типов, рекурсивно построенных, а произвольного их числа.
Без потери смысла я могу переписать функцию принимающую (T1, T2, T3, …) в функцию принимающую (T1, (T2, (T3, … ))).
Вы уже определитесь где можно переписывать, а где нельзя.