История изменений
Исправление Miguel, (текущая версия) :
Их «дженерики» реализованы как шаблоны C++, не к ночи будь помянут: если дженерик используется с десятью разными типами, компилятор генерит десять экземпляров кода. Отсюда следствия:
1) Никакой полиморфной рекурсии — упираемся в бесконечное развёртывание шаблона;
2) AST дженерика запихивается прямо в скомпилированный объектный файл — чтобы можно было использовать с другим типом. Применительно к C++ — это как если бы .o содержал в себе полную копию .h.
Да, список хотелось бы посмотреть.
Исходная версия Miguel, :
Их «дженерики» реализованы как шаблоны C++, не к ночи будь помянут: если дженерик используется с десятью разными типами, компилятор генерит десять экземпляров кода. Отсюда следствия:
1) Никакой полиморфной рекурсии — упираемся в бесконечное развёртывание шаблона;
2) AST дженерика запихивается прямо в скомпилированный объектный файл — чтобы можно было использовать с другим типом. Применительно к C++ — это как если бы .o содержал в себе полную копию .h.