Tuntz
https://www.meetup.com/Rust-%D0%B2-%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B5/events/251913783/
Tuntz
митап будет в пятницу, 29 июня
Маjко
Но вообще у меня сложилось впечатление, что в расте Box<Type> в подавляющем большинстве случаев -- это Box<Trait>
Маjко
Я надеялся вообще что запилят в dyn Trait динамик диспатч без аллокации на хипе
А это просто кейворд без новых семантик :(
Alena
Чутка другая история, лайфтаймы там вообще не нужны где они очевидны
А тут типа чтоб не путали со структурами.
Я не в восторге от нового синтаксиса, время покажет, мб реально упростит чтение чужого кода (в своем то я и так знаю где трейты, а где структуры, да и боксами пользуюсь ну очень редко)
Блин, все равно придерживаюсь позиции, что "чтобы не путали" можно и нужно делать через адекватное развитие devtools в этом случае. Посмотрим, естессно.
Есть предположение, что глобально ничего не изменится, и все в большинстве своем продолжат писать как писали. Технически-то можно.
Маjко
Маjко
И вымарают bare trait syntax из истории^W растбука
Marat
պլհկ
Loyd
Слушайте, а этот dyn Trait это просто трейт объект?
Loyd
Какой смысл в новом синтаксисе и что это упрощает?
Tuntz
чтобы не путали понятия
Маjко
Качественно вбросил
Tuntz
типаж как тип
Tuntz
и объект с динамической диспетчеризацией по типажу
Loyd
А кто путает?
Tuntz
раст не ограничен расточатиками
Nikita
Loyd
Loyd
Мне интересно, кто не может в чтение растбука
Loyd
Что за глупости из-за которых нужно ещё одно, сука, ключевое слово
Маjко
> Additionally, a tweak to the way Cargo deals with targets has landed. Cargo will attempt to automatically discover tests, examples, and binaries within your project. However, sometimes explicit configuration is needed. But the initial implementation had a problem: let’s say that you have two examples, and Cargo is discovering them both. You want to tweak one of them, and so you add a [[example]] to your Cargo.toml to configure its settings. Cargo currently sees that you’ve set one explicitly, and therefore, doesn’t attempt to do any autodetection for the others. That’s quite surprising.
Ахахаха, выливать с стейбл карго с недопилиной фичей.
Красавцы.
Хорошо что хоть не компилятор
Маjко
Tuntz
Маjко
Как ты в коде отличишь их?
Маjко
Loyd
Поинт же в том,что "люди путают"
Loyd
კაცი
как ты узнаешь, что это трейт?
Roma
Roma
или так просто вбросы?
Loyd
Побежался
Маjко
Это мне?
fn perimeter(shape: &Shape) -> f32
Это трейтобъект или структура?
Loyd
Не понял, что за наезд. Трейты не могут в местах, где тип ожидается, находится
Loyd
Маjко
Смотря что Shape
Именно, из сигнатуры или имени типа ты это понять не можешь
Loyd
С точки зрения интерфейса, тебя это волновать не должно
Маjко
ДА ЧТО ТЫ
Loyd
Да ты то
Маjко
Меня как бы волнует че там, если мне нужен перформанс
Loyd
Tuntz
А это тут причем?
да при том, что не надо косяки языка оправдывать хорошей документацией
Маjко
Так и к аннотациям типов в комментах можно дойти
Loyd
Roma
ща бы кодогенератором генерик реализовывать
Loyd
Loyd
Nikita
Функция не ограничивается сигнатурой
պլհկ
Loyd
Иди уж до конца
Маjко
Nikita
Ух, ща ещё полетят предложения писать на асме. И пофиг, что Раст - не настолько низкоуровневый язык, но и не джава
Loyd
Loyd
Потому что вместо интерфейса смотришь про то, как будет диспетчеризация осуществляться
Маjко
https://github.com/rust-lang/rust/issues/44662
Loyd
Маjко
Кстати интересно
Маjко
Фича еще с 2015 планировалась
Nikita
А вообще, в расте диспетчеризация не входит в сигнатуру?
Loo
Вторая волна обсуждения Дин трэйта?
Маjко
Cat
чё вы придумываете?
хотите &Object ? — пишите &Shape
хотите &Trait ? — пишите &Shapable
Nikita
Теперь входит
Вроде и раньше входила, когда impl Trait не было
Loyd
Маjко
պլհկ
Маjко
Loyd
Да тут сказочники собрались
Loyd
Что такое Shape они не знают и что вызвать у него можно --- тоже, зато какая диспетчеризация это прям пиздец важно
Nikita
?
У функции с дженериком по трейту и у функции с референсом на трейтобжект были разные сигнатуры же
Nikita
Да и сейчас