Size: a a a

2020 December 30

CD

Constantine Drozdov in rust_offtopic
собственно плюсовый опыт трейтов показывает, что частичная специализация для классов является достаточно неудачным подходом
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
посмотрим
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
пока у меня более прозаические требования
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
сделать сервис, а не думать о судьбе специализации в расте)
источник

p

polunin.ai in rust_offtopic
Вообще для сервисов нужен логос
источник

CD

Constantine Drozdov in rust_offtopic
Αλεχ Zhukovsky
посмотрим
Ну тут нечего смотреть. Если vector<bool> определен битово-сжатым, то нельзя сделать несжатый vector<bool>. Кроме того, специализация потребует специального синтаксиса для разрешения неочевидных конфликтов, когда выбор более специфической версии невозможен
источник

p

polunin.ai in rust_offtopic
Constantine Drozdov
Ну тут нечего смотреть. Если vector<bool> определен битово-сжатым, то нельзя сделать несжатый vector<bool>. Кроме того, специализация потребует специального синтаксиса для разрешения неочевидных конфликтов, когда выбор более специфической версии невозможен
Когда выбор более специфической невозможен - упасть с ошибкой
источник

p

polunin.ai in rust_offtopic
Раст любит падать на неочевидных местах
источник

p

polunin.ai in rust_offtopic
Так что норм
источник

p

polunin.ai in rust_offtopic
Это лучше чем ничего
источник

CD

Constantine Drozdov in rust_offtopic
polunin.ai
Когда выбор более специфической невозможен - упасть с ошибкой
Оно и так упадет с ошибкой, фишка в том, что ты должен как-то указать правильный ответ
В случае SFINAE это естественно - неправильная версия исключается условием, SFINAE изначально построен как условие на аргумент
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Can't `as` cast Void to usize · Issue #75647 · rust-lang/rust · GitHub
https://github.com/rust-lang/rust/issues/75647
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
вот кстати опять хуета
источник

J

JohnByte in rust_offtopic
polunin.ai
Эм, это суть программирования а не ООП. Суть ООП в том чтобы наебашить классов которые наследуются друг от друга чтобы никто не знал что происходит чтобы уменьшить связность программы.
Ну вообще-то нет. Вот ядро Линукса написано в процедурном стиле (не прослеживается четкой инкапсуляции данных и исполняемого кода в сущности с выделенным интерфейсом), хотя с нормальной декомпозицией.

https://medium.com/javascript-scene/the-forgotten-history-of-oop-88d71b9b2d9f

В исконном ООП ничего про наследование не упоминается
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
кому нужен каст из необитаемого типа? А оч просто, потому что макросня не может чекнуть на то что энум необитаем
источник

EG

Emmanuel Goldstein in rust_offtopic
А зачем?
источник

EG

Emmanuel Goldstein in rust_offtopic
А, понял
источник

CD

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

J

JohnByte in rust_offtopic
ECS в играх - тоже пример ОО дизайна. Хотя там не всегда наследование есть
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Constantine Drozdov
Оно и так упадет с ошибкой, фишка в том, что ты должен как-то указать правильный ответ
В случае SFINAE это естественно - неправильная версия исключается условием, SFINAE изначально построен как условие на аргумент
просто упадет с ошибкой "есть две реализации, не могу выбрать"
источник