Size: a a a

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

2017 November 23

lp

lil pep in Rust — русскоговорящее сообщество
у меня до сих пор бектрейсы не работают на маке лол
(имею ввиду что нету названий файлов итд)
источник

V

Vladimir in Rust — русскоговорящее сообщество
У меня только номеров строк нету
источник

AS

Aleksey Sidorov in Rust — русскоговорящее сообщество
у меня иногда появляются на найтли
источник

lp

lil pep in Rust — русскоговорящее сообщество
Aleksey Sidorov
у меня иногда появляются на найтли
имеешь ввиду от запуска к запуску или от проекта к проекту?
источник

AS

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

V

Vladimir in Rust — русскоговорящее сообщество
нужно найти версию на которой работает, и зафиксироваться )
источник

LM

Loo Maclin in Rust — русскоговорящее сообщество
Vladimir
нужно найти версию на которой работает, и зафиксироваться )
Шаришь
источник

AT

Anton TrionProg in Rust — русскоговорящее сообщество
Цени красивейший код

let balancer_sender=unsafe{&mut *(&mut self.balancer_sender as *mut BalancerSender)};//обманываем тупой борров чеккер
let instance=self.get_instance_by_connection_id(connection_id)?;//вызывает гетер, который совсем не трогает self.balancer_sender

instance.mark_remove(balancer_sender, ...) //используем их оба
источник

AT

Anton TrionProg in Rust — русскоговорящее сообщество
Во, еще бажина раста нашлась. Ну как всегда некорректное поведение borrow checker-а.

match self.cash.do_transaction(resource_id, |resource| {
           match resource.cashed {
               Some(ref mut cashed_resource) => {
                   let create = self.resource_heap.logical.create_resource(cashed_resource.data.deref());

closure requires unique access to self but self.cash is already borrowed
из-за боровинка ОТДЕЛЬНОГО поля self.cash, причем НЕМУТАБЕЛЬНОГО
и мутабельного бороввинга ОТДЕЛЬНОГО поля self.resource_heap уже мутабельного

ИМХО, именно из-за некорректного, нелогичного поведения борров чеккера, раст никак не может взлететь. Ох, а сделать в расте граф, так вообще застрелиться!
источник

MD

Memory Doctor in Rust — русскоговорящее сообщество
Сделай на unsafe
источник

MD

Memory Doctor in Rust — русскоговорящее сообщество
В чем проблема-то?
источник

MD

Memory Doctor in Rust — русскоговорящее сообщество
Че все так ансейв хкйтят не пойму
источник

Ct

Casual tears in Rust — русскоговорящее сообщество
Ты там на ежедневной основе графы пишешь?
источник

Ct

Casual tears in Rust — русскоговорящее сообщество
borrow checker, конечно, иногда неудобен, но если не писать люто императивный код, то он почти не мешается.
источник

AT

Anton TrionProg in Rust — русскоговорящее сообщество
Потому что логично unsafe нужно использовать, когда мы лезем куда-то в железо или извращаемся, но тут мы вынуждены обманывать borrow checker, который обожает борровить всю структуру в геттерах вида fn get_a_mut(&mut self) -> &mut A и, видимо, еще и closure так себя ведет тоже.

может кто-то знает, как сделать такие геттеры более нормальными? copy, clone, assign не предлагать, нужно именно вырывать поле из из структуры. Зачем эти геттеры? А как ты сделаешь в расте что-то вида наследования? заюзаешь определенный трейт для схожих объектов.
источник

lp

lil pep in Rust — русскоговорящее сообщество
ну че, кто идет на митап в мск?
источник

Ct

Casual tears in Rust — русскоговорящее сообщество
Anton TrionProg
Потому что логично unsafe нужно использовать, когда мы лезем куда-то в железо или извращаемся, но тут мы вынуждены обманывать borrow checker, который обожает борровить всю структуру в геттерах вида fn get_a_mut(&mut self) -> &mut A и, видимо, еще и closure так себя ведет тоже.

может кто-то знает, как сделать такие геттеры более нормальными? copy, clone, assign не предлагать, нужно именно вырывать поле из из структуры. Зачем эти геттеры? А как ты сделаешь в расте что-то вида наследования? заюзаешь определенный трейт для схожих объектов.
> Логично unsafe использовать, чтобы выстрелить себе в ногу
Нет.
источник

Ct

Casual tears in Rust — русскоговорящее сообщество
Можно пример кода?
источник

Ct

Casual tears in Rust — русскоговорящее сообщество
Абстрактного, в ваккуме
источник

Ct

Casual tears in Rust — русскоговорящее сообщество
который без кучи геттеров не обходится
источник