История изменений
Исправление MOPKOBKA, (текущая версия) :
именнованный конст глобален по всем генерик экземплярам функции
Но это не имеет отношения к выводу типов.
Так я не про вывод типов. Я про то что трейты по семантике равны абстрактным классам, когда ты передаешь в функцию трейт доступ к оригинальному типу ты уже не можешь получить, и способен оперировать только трейтом и его методами.
Пример заодно показывает что нельзя сделать на классах.
Пример легко повторяется на классах-трейтах, и наследование от примитивов тут лишнее, вот мой пример где я эмулирую трейты с примитивами: То что сложно реализовать на других языках (комментарий)
Тут важно учесть, что оборачивание объекта в структуру, пусть даже с методами, это zero cost абстракция. До момента пока возможна девиртуализация.
Исходная версия MOPKOBKA, :
именнованный конст глобален по всем генерик экземплярам функции
Но это не имеет отношения к выводу типов.
Так я не про вывод типов. Я про то что трейты по семантике равны абстрактным классам, когда ты передаешь в функцию трейт доступ к оригинальному типу ты уже не можешь получить, и способен оперировать только трейтом и его методами.
Пример заодно показывает что нельзя сделать на классах.
Пример легко повторяется на классах-трейтах, и наследование от примитивов тут лишнее, вот мой пример где я эмулирую трейты с примитивами: То что сложно реализовать на других языках (комментарий)
Тут важно учесть, что оборачивание объекта в структуру, пусть даже с методами, это zero cost абстракция.