Size: a a a

2020 August 14

CD

Constantine Drozdov in rust_offtopic
оно же принцип Лисков
источник

Т8

Т-34 85 in rust_offtopic
Constantine Drozdov
блин, я кажется наконец-то понял, что тов Ц. имеет в виду, забавно
да я тоже сначала не понимал. Вот тут он доходчиво объяснил
https://t.me/proriv_zaparti/12186
источник

CD

Constantine Drozdov in rust_offtopic
он называет это оптимизацией, потому что это и правда может быть рассмотрено как оптимизация над готовым кодом (за что тут ратуют адепты мономорфизации)
источник

CD

Constantine Drozdov in rust_offtopic
точно такая же оптимизация будет вноситься в генерики в kotlin.native
источник

Т8

Т-34 85 in rust_offtopic
вот в чём проблема раста, как я понял
источник

Т8

Т-34 85 in rust_offtopic
Переслано от Roman na
нет, там на уровне языка динамический диспатч
источник

Т8

Т-34 85 in rust_offtopic
а то, что он становится статическим благодаря оптимизациям - ничего не даёт из возможностей, лишь перформанс
источник

CD

Constantine Drozdov in rust_offtopic
да да да, именно это
источник

Т8

Т-34 85 in rust_offtopic
и тут я понял, о чём он. Если всё так, то он прав
источник

CD

Constantine Drozdov in rust_offtopic
Т-34 85
и тут я понял, о чём он. Если всё так, то он прав
А это так. Трейтовые конструкции Rust это те самые полностью подставленные генерики с расширенным синтаксисом
источник

AZ

Alex Zhukovsky in rust_offtopic
Constantine Drozdov
оно же принцип Лисков
при чем тут лисков?
источник

AZ

Alex Zhukovsky in rust_offtopic
лисков вообще к трейтам отношения не имеет
источник

AZ

Alex Zhukovsky in rust_offtopic
он про реализацию сабклассов с реализацией
источник

AZ

Alex Zhukovsky in rust_offtopic
у трейтов нет реализаций
источник

p

polunin.ai in rust_offtopic
Т-34 85
а то, что он становится статическим благодаря оптимизациям - ничего не даёт из возможностей, лишь перформанс
В расте статический полиморфизм всегда если ты не используешь dyn
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
лисков вообще к трейтам отношения не имеет
принцип Лисков говорит, что наследование это и есть выражение "A -> B" для тайпклассов?
источник

Т8

Т-34 85 in rust_offtopic
polunin.ai
В расте статический полиморфизм всегда если ты не используешь dyn
ты этим обстоятельством никак не можешь воспользоваться
источник

Т8

Т-34 85 in rust_offtopic
ну получишь перформанс, ну и всё
источник

AZ

Alex Zhukovsky in rust_offtopic
Constantine Drozdov
принцип Лисков говорит, что наследование это и есть выражение "A -> B" для тайпклассов?
принцип лисков говорит что при подстановке А на Б поведение не должно меняться. ПРоблема в том, что для тайпклассов это тривиально, потому что Б не может переопределять поведение А никак
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
принцип лисков говорит что при подстановке А на Б поведение не должно меняться. ПРоблема в том, что для тайпклассов это тривиально, потому что Б не может переопределять поведение А никак
Смотри, есть концепт ShapeWithArea, если концепт Shape. Любое требование концепта Shape верно для ShapeWithArea, перед нами наследование. Если рассматривать Shape и ShapeWithArea как предикаты, получается ShapeWithArea<T> -> Shape<T> (импликация)
источник