Size: a a a

2020 August 05

AZ

Alex Zhukovsky in rust_offtopic
вот генерик тип
источник

KR

Kai Ren in rust_offtopic
и он именно топил что темплейтные ошибки лучше
источник

AZ

Alex Zhukovsky in rust_offtopic
вот почему не могу - не реализует IFormattable
источник

KR

Kai Ren in rust_offtopic
потому что зрят в самый корень
источник

KR

Kai Ren in rust_offtopic
ща форвардну
источник

AZ

Alex Zhukovsky in rust_offtopic
Kai Ren
и он именно топил что темплейтные ошибки лучше
https://t.me/rust_offtopic/342553 вот эта ошибки лучше? лол
источник

AZ

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

Т8

Т-34 85 in rust_offtopic
Alex Zhukovsky
вот почему не могу - не реализует IFormattable
В сообщении написано следствие, а ты из него вывел причину.

Но даже так бы не подсказывало, как надо исправить код, чтобы заработало
источник

Т8

Т-34 85 in rust_offtopic
Alex Zhukovsky
извините, если бы мне утиная типизация была нужна я бы не стал брать статически типизированный яп
Ты не прав. Тут ошибка времени компиляции, а там в рантайме ебанёт
источник

KR

Kai Ren in rust_offtopic
Переслано от Roman na
Ещё раз отвечу. В статическом языке выбора никакого нет. Нельзя свести полиморфный код к мономорфному, т.е. "шаблоны" нужны всегда.

Но если уж мы используем шаблоны, то мы можем использовать их преимущества
источник

KR

Kai Ren in rust_offtopic
Переслано от Roman na
основное это то, что типы не стираются, да
источник

KR

Kai Ren in rust_offtopic
Переслано от Roman na
на самом деле все эти "ограничения" в скриптухе - это не ограничение. Это именно типизация
источник

KR

Kai Ren in rust_offtopic
Переслано от Roman na
в функции <T>(x: T) x.foo() - T не имеет каких-либо свойств уникальных
источник

KR

Kai Ren in rust_offtopic
Переслано от Roman na
поэтому там нужно типизировать T - наделить его свойствами.
источник

KR

Kai Ren in rust_offtopic
Переслано от Roman na
Вот он типизируется специальными типами - интерфейсами
источник

KR

Kai Ren in rust_offtopic
Переслано от Roman na
это тот интерфейс, через который доступны все типы принимаемых значений.
источник

KR

Kai Ren in rust_offtopic
Переслано от Roman na
и в этом проблема - он общий
источник

KR

Kai Ren in rust_offtopic
Переслано от Roman na
Мы не можем написать функцию T1 => T2
источник

KR

Kai Ren in rust_offtopic
Переслано от Roman na
Т.е. мы можем проводить подобные трансформации, мы не должны везде и всюду типизировать убогие трейты дерьма. И самое важное - мы получаем нормальные ошибки
источник

KR

Kai Ren in rust_offtopic
Переслано от Kai Ren
А чем ошибки с трейтами плохи?
источник