Денис
make && make install → cargo build && cargo install
Маjко
Cat
вы же тут спорили и доказывали, что impl смотрится красивее, чем generic type arg
Cuno
Cat
?? t.me/rustlang_ru/122840
分解物質
分解物質
ну правильно, зачем кучу синтаксисов к одной вещи
Cat
но вообще я тоже плюсанул
Антон
Cat
eh, come on, я же шучу (про "спорили и доказывали")
Berkus
impl Debug выглядит лучше
Berkus
прямо СИЛЬНО
Berkus
Berkus
всё нормально
Tuntz
тоже лайкнул
Tuntz
impl Trait для аргументов - симптом construction madness авторов языка
Tuntz
фича ради фичи потому что делать нечего и лижут себе яйца
ㅤ
Как это нечего
ㅤ
Конст женерики
պլհկ
Хули вы раньше не дислайкали
պլհկ
Пока не в стейбле было
Tuntz
так universal-impl-trait в последний момент заехало в пулл-реквест
պլհկ
Теперь поезд ушел
Tuntz
планировали только conservative-impl-trait, потом *huzzah* - будем и для аргументов тоже стабилизировать
Sergey
Tuntz
это большой провал процесса общественного обсуждения RFC и PR - немаленькая фича оказалась в стейбле без широкого review зацепившись за существующий PR.
պլհկ
Я чет тоже не заметил как оно пролезло
Tuntz
потому что все обсуждали и ждали conservative-impl-trait
Tuntz
а вышло вот как
Sergey
Sergey
я вот думаю, что надо регулярно смотреть на рфц
Sergey
и коварно кидать сюда
պլհկ
Толку только от лойсов
պլհկ
На них вообще обращают внимание?
Sergey
на комменты обращают точно)
Денис
разве что на развёрнутые каменты
Денис
коменты в стиле I like the idea. вряд ли обращают на себя внимание принимателей решений
Loyd
Loyd
Маjко
Loyd
Loyd
А когда a => b => c хочется
Loyd
Ну, будет аля fn kek<F: Fn() -> impl Fn() -> u32>(f: F) работать?
Cat
по идее будет
Cat
это же не тип аргумента (тут я возможно сильно не прав)
хотя хз, чё они там накрутили
Loyd
Я к тому, что в этом кейсе fn kek(f: impl Fn() -> impl Fn() -> u32) лучше смотрится
Tuntz
ну, impl Trait в позиции аргумента работает как дженерик - пользователь сам выбирает любой из 155 типов, которые вписываются в constraint
Loyd
Да, но турбофиш не работает
Маjко
Маjко
Вашу ж мать
Loyd
Где там?
Маjко
Там где передается конкретное значение генерик типа
Маjко
Турбофиш нужен когда значение не передается
Loyd
Это если в возвращаемом, это да
Loyd
Но есть кейсы, когда указываешь явно
Маjко
fn sizeof::<T>()
Маjко
Нет
Маjко
Маjко
fn consume<T>(t: T)
Маjко
Маjко
impl Trait подходит только во втором случае
Sergey
Loyd
Ну как "нет"? Возьми тот же Deref: из-за него у тебя &Kek может кучу разных ссылок принимать. Поэтому для consume<&str>(k) и consume<&Kek>( k ) ты можешь захотеть указать
Tuntz
Anonymous
Sergey
Маjко
почему 155 типов?
256 - 155 = количество специальных типов компилера
Остаются 155 для юзера, инача u8 переполнится
պլհկ
Loyd
Sergey
Маjко
Sergey
Combot
combot.org/chat/-1001082778544
Loyd
Или ты сказки рассказывать будешь, что ни разу из-за Deref-а не уточнял тип?
Loyd
Если у тебя какой-нибудь`Serialize` внутри, который для &str и &Kek по-разному реализован, то что ты делать будешь?