LINUX.ORG.RU

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

Исправление MOPKOBKA, (текущая версия) :

именнованный конст глобален по всем генерик экземплярам функции
Но это не имеет отношения к выводу типов.

Так я не про вывод типов. Я про то что трейты по семантике равны абстрактным классам, когда ты передаешь в функцию трейт доступ к оригинальному типу ты уже не можешь получить, и способен оперировать только трейтом и его методами.

Пример заодно показывает что нельзя сделать на классах.

Пример легко повторяется на классах-трейтах, и наследование от примитивов тут лишнее, вот мой пример где я эмулирую трейты с примитивами: То что сложно реализовать на других языках (комментарий)

Тут важно учесть, что оборачивание объекта в структуру, пусть даже с методами, это zero cost абстракция. До момента пока возможна девиртуализация.

Исходная версия MOPKOBKA, :

именнованный конст глобален по всем генерик экземплярам функции
Но это не имеет отношения к выводу типов.

Так я не про вывод типов. Я про то что трейты по семантике равны абстрактным классам, когда ты передаешь в функцию трейт доступ к оригинальному типу ты уже не можешь получить, и способен оперировать только трейтом и его методами.

Пример заодно показывает что нельзя сделать на классах.

Пример легко повторяется на классах-трейтах, и наследование от примитивов тут лишнее, вот мой пример где я эмулирую трейты с примитивами: То что сложно реализовать на других языках (комментарий)

Тут важно учесть, что оборачивание объекта в структуру, пусть даже с методами, это zero cost абстракция.