【发布时间】:2021-07-04 07:52:22
【问题描述】:
我有一个struct Database { events: Vec<Event> }。我想对events 应用一些地图和过滤器。有什么好的方法可以做到这一点?
这是我尝试过的:
fn update(db: &mut Database) {
db.events = db.events.into_iter().filter(|e| !e.cancelled).collect();
}
这不起作用:
cannot move out of `db.events` which is behind a mutable reference
...
move occurs because `db.events` has type `Vec<Event>`, which does not implement the `Copy` trait
有什么方法可以让 Rust 编译器相信我只是暂时获取字段值?
【问题讨论】:
标签: rust