Size: a a a

Rust — русскоговорящее сообществo

2020 April 16

Э

Эрик in Rust — русскоговорящее сообществo
Там есть исключения, которые не сделают итератор невалидным, но компилятор это всё знать не может, да и там очень небольшое количество операций, которые можно производить с вектором без UB.
источник

AL

Andrey @ozkriff Lesnikov in Rust — русскоговорящее сообществo
источник

f

folex in Rust — русскоговорящее сообществo
#[derive(Clone)]
struct Elem {}
struct Network {}
struct List { list: Vec<Elem>, network: Network }

impl List {
   fn foo(&mut self) {
       let elems
= self.list.iter().cloned();
       for elem in elems {
           self.send(elem)
       }
   }
   
   fn send(&mut self, _e: Elem) { /* self.network.send(_e) */ }
}
источник

f

folex in Rust — русскоговорящее сообществo
В общем нельзя избежать материализации чз collect, так как итераторы ленивые, а понять что там &'static можно только после материализации
источник

Э

Эрик in Rust — русскоговорящее сообществo
А нельзя сделать foo(self) -> Self? Тогда внутри разбирается на (Vec, Network), потом делаешь Self::bar(&mut network, elem.clone()), а потом пересобираешь обратно в Self.
источник

f

folex in Rust — русскоговорящее сообществo
Лучше уж collect :)
источник

Э

Эрик in Rust — русскоговорящее сообществo
Чем же лучше? Тем, что всё копирует?
источник

f

folex in Rust — русскоговорящее сообществo
Я _хочу_ копировать, мне по сети надо отправлять
источник

f

folex in Rust — русскоговорящее сообществo
и при этом надо сохранить в списке
источник

f

folex in Rust — русскоговорящее сообществo
я хочу вызывать clone, я не хочу collect :)
источник

Э

Эрик in Rust — русскоговорящее сообществo
Не, так-то оно да, но ты уверен, что там внутри какого-нибудь Write твой элемент не копируется ещё раз?
источник

f

folex in Rust — русскоговорящее сообществo
угу
источник

Э

Эрик in Rust — русскоговорящее сообществo
В общем, пока не вижу реальной задачи, помочь ничем не могу. Если тебе надо только кусок структуры иметь мутабельно, то разбирай, потом собирай обратно. Либо unsafe, но там много подводнх камней.
источник

АВ

Андрей Власов in Rust — русскоговорящее сообществo
Berkus Decker
readrust.net - годный агрегатор
Нет случайно канала в телеге, который скидывает посты оттуда?
источник

АВ

Андрей Власов in Rust — русскоговорящее сообществo
В твиттер временами годные посты кидали но я забросил твиттер
Хочу всё в тг
источник

BD

Berkus Decker in Rust — русскоговорящее сообществo
Андрей Власов
Нет случайно канала в телеге, который скидывает посты оттуда?
можно написать на расте, добавлю в бота своего кек
источник

АВ

Андрей Власов in Rust — русскоговорящее сообществo
Что за бот?
источник

BD

Berkus Decker in Rust — русскоговорящее сообществo
Андрей Власов
Что за бот?
игровой бот, трекает всякие активности клана. там просто была рсс парсилка для варфреймовских алертов, можно ее заюзать для подтягивания рсс из этого сайта и такого же постинга
источник

АВ

Андрей Власов in Rust — русскоговорящее сообществo
Там можно в жсоне все посты скачивать
источник

АВ

Андрей Власов in Rust — русскоговорящее сообществo
источник