Я очень новичок в Rust, но я пытаюсь решить, как изменить экземпляр enum. Мне нужно использовать управляемые ящики по другим причинам, но, похоже, сложно сменить поле перечисления.Изменение поля enum в Rust
#[feature(managed_boxes)];
enum State { A(int), B }
fn main() {
let mut state = @A(123);
match *state {
A(ref mut i) => { *i = 456 }
B => { }
}
println!("{:?}", state)
}
Я получаю ошибку cannot borrow immutable anonymous field as mutable
. mut
, по-видимому, только говорит, что state
, переменная, является изменяемой. Я хочу сказать Русту, что все это изменчиво. Я нахожу вынужденную неизменность одной из самых раздражающих вещей ржавчины.