они были аллоцированы наверное рядом, но как абстракция вроде бы норм.
ты не можешь редактировать 2 слайса одновременно тогда
блин каждый раз это бч меня удивляет. вот как так?
ну на самом делевполне логично. Не думал почему channel() возвращает тапл (rx, tx) а не одну структуру? Вот поэтому
Наверное потому, что компилятор не может соотнести две (и более) уникальные ссылки (&mut) с одним вектором. Например что бы понять, что обе ссылки уже не используются и значит можно разрешить другие операции с вектором, которые требуют &mut self. Хотя... с обычным ссылками ведь он может всё это. Видимо дело в другом.
Я согласен, но split_at_mut() за этим и нужен. И я думаю твой паттерн матчинг тоже так может (тот что кидали ссылку на плейграунд выше).
ну в целом да, но чтобы распплитить на 10+ слайсов нужно будте выдумывать странные вещи
Я думаю, это потому что с обычными ссылками Index используется, а с мутабельными IndexMut, потому что вы им что-то присваиваете
канал возвращает 2 структуры, просто потому что у него такое api (Sender, Receiver), если бы он возвращал одну стуруктуру то это уже был бы не канал, а какой нибудь ConcurrentQueue
Обсуждают сегодня