Loyd
В телеграмме сломались `
Sergey
В телеграмме сломались `
они по другому работают
Sergey
⌘ + ⇧ + K
Маjко
Для начала не буду реализовывать Deref<Target=&str> для Kek
Loyd
⌘ + ⇧ + K
У меня линукс
Маjко
Это антипаттерн
Sergey
У меня линукс
значит другое сочетание клавиш
Loyd
Ну то есть кейс есть, мы выяснили
Loyd
Это необязательно Deref
Маjко
Ну бля, наговнякал по антипаттернам и жалуется
Loyd
Это просто один из примеров, первый в голову пришёл
Маjко
Дак больше нет примеров с автоконверсией ссылок :)
Loyd
Ну бля, наговнякал по антипаттернам и жалуется
Это не всегда антипаттерн. Если у меня обёртка над &str, то какой это, к чёрту, антипаттерн?
Loyd
А обертка может быть именно из-за того, что она парсится особо. Или в БД имеет отдельное представление
Loyd
Дак больше нет примеров с автоконверсией ссылок :)
Необязательно конверсия ссылок. Скажем, у тебя foo(kek()) и вот этот kek диспетчеризируется по возвращаемому значению
Маjко
Что значит kek диспетчеризуется по возвращаемому значению? В расте нет такого
Loyd
А как ты ещё назовёшь -> T?
Loyd
Обычно же так и называют
Маjко
Ну покажи пример в прейграунде
Маjко
Словишь expected T, found i32
Loyd
Пример без ссылок в смысле?
Маjко
Покажи как можно параметризовать ф-ю по возвращаемому значению
Loyd
collect?
Маjко
Там параметризована не функция, а метод типажа, по ассоциированному типу
Маjко
Это не кейс для турбофиш
Loyd
То, что сам B: FromIterator это другой вопрос. Но имел в виду я именно это ^
Loyd
Это не кейс для турбофиш
Так его и не будет
Маjко
Эм. ложь: collect<B>(self) -> B
Посыпаю голову пеплом
Маjко
Был не прав
Loyd
Я говорил, что неоднозначность не только у foo(&Kek) кейса, а вообще у любого foo(bar()), если тот самый bar() объявлен с -> T
Cat
ну так шо быстро убираем свои лайки?
Loyd
Наоборот жеж
Loyd
Сейчас 100500 impl A понаделают в библиотеках. А потом начнутся issue "сделай турбофиш, плиз"
Маjко
Вообще хороший вопрос
Cat
вам бы создать rust committee
Sergey
вам бы создать rust committee
а его разве нет уже?
Маjко
fn foo(a: impl A) {} fn bar<A: A>() -> A {} foo(bar::<i32>())
Маjко
Вот и турбофиш
Маjко
Просто он нужен там где генерик, собстно
Cat
а его разве нет уже?
только если вот этот
Маjко
В случае если bar -> impl A проблем вообще нет, везде конкретный тип
Cat
срочно тогда докидываем ещё тонну лайков сверху
Loyd
Во flow турбофиша не было сто лет
Loyd
Там всё на выводе типов держалось
Loyd
Короче, разрабов заебали и они в последней версии ввели
Loyd
Ну, турбофиша для функций*
Tuntz
тем временем, в обсуждении засветился автор дизеля и обвинил авторов RFC в проталкивании старых аргументов через силу
Loyd
И его сразу поправили. Знатные баталии)
Denis
За растом интереснее наблюдать, чем писать на нем)
Ευγένιος
Ахахахах. Тут реально интересные темы.
Andrey
Закрыли :)
Berkus
Cat
wontfix? :)
"We are going to take the unusual step of immediately closing and locking this RFC."
Andrey
Ага. И даже в epoch 2018 останется
Berkus
ВЖУХ
Cat
и даже нельзя эмоджи ставить теперь
Andrey
Tuntz
"да, мы обосрались - всё равно идите нахуй"
Berkus
нормально там вроде все с импл трейтами в аргументах, ща подкостылят чуток
Berkus
в одном из первых комментов был нормальный вариант
Tuntz
вот пойдёт потеха если в отдельных проектах universal-impl-trait будет запрещён кодинг-стайлом
Andrey
Docs.rs на них падает уже
Tuntz
Andrey
Не билдит доку
Маjко
Ну это пофиксят
Andrey
Пассивно-агрессивный линтинг?
Денис
надо ведь выживать как-то
Денис
ахахаха
Денис
форкнуть можно, а поддерживать? :)
Berkus
забавно что мне раст сейчас напомнил Oberon - древнее такое производное модулы-2/3 и паскакаля, только без дженериков. но там тоже модули были во главе угла