Size: a a a

2021 January 12

p

polunin.ai in rust_offtopic
Чтобы вот такой херни не было
источник

CD

Constantine Drozdov in rust_offtopic
Constantine Drozdov
да нет сложности, невыявленная абстракция это цена в поддержке
перебивать id с int на long ручками, и хорошо если это id назвали одинаково
еще хуже, что там кроме id может найтись еще одно очень важное общее поле
источник

CD

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

p

polunin.ai in rust_offtopic
Constantine Drozdov
еще хуже, что там кроме id может найтись еще одно очень важное общее поле
В расте я бы делал
trait HasField {
 fn field() -> &T;
}
источник

CD

Constantine Drozdov in rust_offtopic
когда прод ляжет из-за того, что кто-то порядок id и size перепутал
источник

p

polunin.ai in rust_offtopic
Если же полиморфной работы не надо - лучше копипастить.
источник

CD

Constantine Drozdov in rust_offtopic
polunin.ai
В расте я бы делал
trait HasField {
 fn field() -> &T;
}
это такое же наследование
источник

p

polunin.ai in rust_offtopic
Constantine Drozdov
это такое же наследование
Нет
источник

p

polunin.ai in rust_offtopic
Это для полиморфной работы
источник

CD

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

p

polunin.ai in rust_offtopic
Нет
источник

CD

Constantine Drozdov in rust_offtopic
трейты = закрытое компильтаймовое
наследование = закрытое рантаймовое
источник

CD

Constantine Drozdov in rust_offtopic
закрытое не то слово, как там это называлось-то
источник

CD

Constantine Drozdov in rust_offtopic
polunin.ai
Это для полиморфной работы
тебя не удивляет, что конвертация в интерфейс происходит добавлением одного слова dyn?
источник

а

а это кто in rust_offtopic
Constantine Drozdov
трейты = закрытое компильтаймовое
наследование = закрытое рантаймовое
В C++ классы наследуются и для этого не нужно vtable (если нет виртуальных методов)
источник

а

а это кто in rust_offtopic
компильтаймовое наследование
источник

p

polunin.ai in rust_offtopic
Constantine Drozdov
тебя не удивляет, что конвертация в интерфейс происходит добавлением одного слова dyn?
И боксингом
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
polunin.ai
В расте я бы делал
trait HasField {
 fn field() -> &T;
}
тебе все ещё его надо руками прописывать
источник

а

а это кто in rust_offtopic
vtable нужен только для typeid, виртуальных методов и прочей фигни
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
хочется это автоматизировать
источник