Size: a a a

2020 August 14

AZ

Alex Zhukovsky in rust_offtopic
ну с регистрацией да, нужен динтрейт
источник

AZ

Alex Zhukovsky in rust_offtopic
но это изначально странная постановка
источник

AZ

Alex Zhukovsky in rust_offtopic
на хлистах можно без dyn это сделать
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
ну с регистрацией да, нужен динтрейт
ага, но собственно у нас есть точное место, где возникает открытый динамический полиморфизм и интерфейсы
источник

AZ

Alex Zhukovsky in rust_offtopic
Constantine Drozdov
ага, но собственно у нас есть точное место, где возникает открытый динамический полиморфизм и интерфейсы
можно без dyn сделать все равно
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
можно без dyn сделать все равно
как?
источник

CD

Constantine Drozdov in rust_offtopic
фактическая реализация может подгружаться динамически как плагин
источник

CD

Constantine Drozdov in rust_offtopic
для одной отдельно взятой программы мир можно закрыть, но при общении с соседом уже нет
источник

Т8

Т-34 85 in rust_offtopic
Переслано от fox.py &>/dev...
это руками написанные SIMD циклы
источник

Т8

Т-34 85 in rust_offtopic
Переслано от Roman na
правильно и они дерьмо - это раз. Два они generic и на них просрано тысячи времени, которое бы потратилось на их ещё большую оптимизацию
источник

AZ

Alex Zhukovsky in rust_offtopic
если на пальцах то у тебя регистрация имеет вид:

fn register<T, TCurrentState>(...) -> Cons<T, TCurrenState>

и в конце регистрации у тебя получается матрёшка которая знает про все зарегистрированные типы статически.

Для всяких плагинных систем офк это не работает, но мало кто пишет плагинные системы
источник

Т8

Т-34 85 in rust_offtopic
царь топ
источник

SP

Stanislav Popov in rust_offtopic
Т-34 85
царь топ
мне так приятно что наша армия почитателей царя растет
источник

SP

Stanislav Popov in rust_offtopic
весь оффтопик должен быть за царя
источник

SP

Stanislav Popov in rust_offtopic
все снг
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
если на пальцах то у тебя регистрация имеет вид:

fn register<T, TCurrentState>(...) -> Cons<T, TCurrenState>

и в конце регистрации у тебя получается матрёшка которая знает про все зарегистрированные типы статически.

Для всяких плагинных систем офк это не работает, но мало кто пишет плагинные системы
тут вопрос хотим ли мы использовать выражения закрытого мира просто потому, что множество всех типов в нашей программе всегда можно перечислить
источник

AZ

Alex Zhukovsky in rust_offtopic
Constantine Drozdov
тут вопрос хотим ли мы использовать выражения закрытого мира просто потому, что множество всех типов в нашей программе всегда можно перечислить
а ты обычно не хочешь регистрировать всё подряд, ты регистрируешь конкретные обработчики на конкретные вещи
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
если на пальцах то у тебя регистрация имеет вид:

fn register<T, TCurrentState>(...) -> Cons<T, TCurrenState>

и в конце регистрации у тебя получается матрёшка которая знает про все зарегистрированные типы статически.

Для всяких плагинных систем офк это не работает, но мало кто пишет плагинные системы
главное другое - у открытой динамической сущности есть чёткое место возникновение, это функция, мапящая рантайм данные на объекты разных типов, поэтому у нас есть основная точка возникновения рантаймовых интерфейсов
источник

CD

Constantine Drozdov in rust_offtopic
а весь остальной код не обязан быть связанным именами сущностей
источник

AZ

Alex Zhukovsky in rust_offtopic
Constantine Drozdov
главное другое - у открытой динамической сущности есть чёткое место возникновение, это функция, мапящая рантайм данные на объекты разных типов, поэтому у нас есть основная точка возникновения рантаймовых интерфейсов
в 99% проектов регистрация выглядит так
источник