Sergey
https://repl.it/@sergeysova1/InsubstantialRealisticMachinecodeinstruction
Sergey
это можно как-то починить?
Andrei
да, не засовывать в один контейнер второй
Sergey
а если нужно?
Sergey
паттерн composite как запилить
Andrei
а если нужно?
я ненастоящий сварщик поискать копирование пачкой
Sergey
😄
Sergey
https://play.rust-lang.org/?gist=909b03d51c4dbec09239a9e81c4dd05d&version=stable
Sergey
вот так запилил
Sergey
а вообще указывать ссылку на трейт это не антипаттерн?
Cat
хз, не видел высказываний против
Cat
тот пример откопал на SO, года полтора назад
Loo
а вообще указывать ссылку на трейт это не антипаттерн?
нет. ты должен сам решить что для тебя приоритетней и как с этим удобней будет работать а так же динамическая диспетчерезация вс статическая. зависит от ситуации. но по-умолчанию уклон делается на второе.
Cat
Box<T> vs &T? просто не понял про dinamic vs static
Cat
всё равно dynamic же
Anonymous
И то и другое dynamic. Просто Box на практике проще юзать.
Cat
+
Max
Лень ебатся с лайфтаймами - Box<T> ПЕРФОМАНС - &T
Cat
на самом деле от конструкции container1.push(container2) меня бросает в дрожь
Andrei
как-то выглядит подтекающей абстракцией
Cat
мимокрокодил, а что здесь не так?
неочевидный результат
Cat
обычно ожидается только MyList::push(element: InnerElementType)
Cat
(ну вы поняли короче)
Nik
ну если типы элементов контейнеров совпадают, почему бы им и не добавляться?
Nik
в том плане, какое еще может быть поведение, кроме как добавления всех элементов второй коллекции в первую
Cat
например, вставка как элемент
Nik
например, вставка как элемент
>если типы элементов контейнеров совпадают
Cat
vec1.push(vec2) => [ 1, 2, 3, [6, 7, 8] ]
Nik
но у нас же трейт/интерфейс
я мимокрокодил, сижу тут ради срачей про гендерное неравенство и либертарианство)
Cat
нормально, я так же
Cat
vec1.push(vec2) => [ 1, 2, 3, [6, 7, 8] ]
возможно это последствия лиспа
Cat
профессиональная (любительская) деформация
Cat
ну в общем это всё придирки (возможно), так что воспринимать серьёзно не стоит
Nik
vec1.push(vec2) => [ 1, 2, 3, [6, 7, 8] ]
пардон, а раст у нас разве не статически типизирован, чтобы такое вытворять?
Nik
коллекции должны быть гомогенными, не?
Sergey
ну вон выше получилось
Cat
коллекции должны быть гомогенными, не?
можно сделать &Trait или Box<Trait>
Sergey
https://play.rust-lang.org/?gist=17b2466e88f2aeb84b594acde869438b&version=stable
Cat
кстати, правильно я понял, что в latest stable инкриментальная компиляция по дефолту?
Anton
да
Cat
спасибо, просто как-то странно ощущается, как будто и нету её
Loo
спасибо, просто как-то странно ощущается, как будто и нету её
- ты видишь инкрементальную компиляцию? - нет. - а она есть.
պլհկ
Да она не работает толком, только все портит
Safort
Гайз, подскажите как мэтчить Box в stable? Пытаюсь сделать что-то типа: match cons { box Cons(i, _) => println!("i = {:?}", i), _ => {} } Но пишет error: box pattern syntax is experimental. А душа требует стэйбл, а не найтли с флагами.
でゲソ
Лень ебатся с лайфтаймами - Box<T> ПЕРФОМАНС - &T
Лень ебаться с лайфтаймами - static 'a
Cat
Лень ебаться с лайфтаймами — nll
Max
Лень ебаться с лайфтаймами - JS
պլհկ
Лень ебаться с лайфтаймами - go
պլհկ
Лень ебаться с лайфтаймами - segmentation fault, core dumped
Loo
лень ебаться с лайфтаймами - ебись с футурами
Alexander
Вопрос: а можно сделать for по .zip например?
Loo
лень ебаться с футурами - ебись с токио
Alexander
Из for_each нельзя вернуться.
Loo
Из for_each нельзя вернуться.
вернуться куда? в прошлое?
Alexander
Из функции или break например сделать.
Cat
кстати, насчёт nightly, внезапно не обратносовместимо со stable Compiling app_dirs v1.1.1 error[E0619]: the type of this value must be known in this context --> .cargo/registry/src/github.com-1ecc6299db9ec823/app_dirs-1.1.1/src/imp/platform/macos.rs:10:40 | 10 | Ok(Component::RootDir.as_ref().into()) | ^^^^ error: aborting due to previous error error: Could not compile `app_dirs`.
Loo
Из функции или break например сделать.
так ты в замыкании это пытаешься сделать. for_each тут не причём
Cat
обычно не было, постоянно сидел на найтли
Loo
Это же найтли, там и не такое может быть.
найтли заебись. рекомендую
Alexander
Ну в том и вопрос - есть нормальный способ написать что-то типа for i in a.iter() ?
պլհկ
есть
Loo
Ну в том и вопрос - есть нормальный способ написать что-то типа for i in a.iter() ?
ну если ты будешь юзать for i in a то и замыкания нет. всё ок будет
Loo
а если for_each из итератора то нет
պլհկ
fn main() { for (a, b) in (0..).zip(1..) { println!("{}", a + b); } }
Safort
найтли заебись. рекомендую
Лучше бы порекомендовал как box мэтчить))
Cat
Вопрос: а можно сделать for по .zip например?
https://doc.rust-lang.org/std/iter/struct.Zip.html
պլհկ
в чем проблема?
Alexander
надо сделать for i in a.iter().zip...collect() тогда? Это не особо удобно.