borrow-checker

Я написал этот код для перехода между состояниями, но если не удается пройти проверку заимствования: struct State { // ... } impl State { fn next(self) -> (Self, u32) { // ... } } struct StateHolder { state: State } impl StateHolder { fn next_value(&mut self) -> u32 ...

Я хочу собрать изменения в структуру и применить их все сразу. Основная схема выглядит следующим образом: enum SomeEnum { Foo, Bar, } struct SomeStruct { attrib: SomeEnum, next_attrib: Option<SomeEnum>, } impl SomeStruct { pub fn apply_changes(&mut self) { if let Some...

Я сталкиваюсь с проблемой, когда значение отбрасывается, пока оно все еще заимствовано внутри Option, в закрытии, но мне трудно понять, что именно происходит. Чтобы проиллюстрировать, вот рабочий пример того, чего я на самом деле пытаюсь достичь: fn foo() -> Option<String> { let hd = match std:...

у меня есть значение и я хочу сохранить это значение и ссылку на что-то внутри этого значения в моем собственном типе: struct Thing { count: u32, } struct Combined<'a>(Thing, &'a u32); fn make_combined<'a>() -> Combined<'a> { let thing = Thing { count: 42 }; Combined(t...