в железо или извращаемся, но тут мы вынуждены обманывать borrow checker, который обожает борровить всю структуру в геттерах вида fn get_a_mut(&mut self) -> &mut A и, видимо, еще и closure так себя ведет тоже.
может кто-то знает, как сделать такие геттеры более нормальными? copy, clone, assign не предлагать, нужно именно вырывать поле из из структуры. Зачем эти геттеры? А как ты сделаешь в расте что-то вида наследования? заюзаешь определенный трейт для схожих объектов.
> Логично unsafe использовать, чтобы выстрелить себе в ногу Нет.
https://github.com/rust-unofficial/patterns/blob/master/patterns/compose-structs.md оффициальный паттерн тм от кор тим раста, нужно структуры бить на подструктуры и методы объявлять для них
Обсуждают сегодня