LINUX.ORG.RU

История изменений

Исправление 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, … ))).

Вы уже определитесь где можно переписывать, а где нельзя.