【发布时间】:2017-11-05 10:03:50
【问题描述】:
我有一个例程,它处理一个容器中的对象并引用存储在另外 2 个容器中的那些对象。
但是,我没有找到这样做的生锈方式,生命周期推断似乎禁止这样做,我不知道如何解决它
fn main() {
let mut deck : Deck = Deck::new();
let mut p1 : Hand = Hand::new();
let mut p2 : Hand = Hand::new();
do_hands(|data: &[Card]| -> Result<(),()> {
for card in data {
deck.insert(card.id, CardCell::new(*card));
let card: &CardCell = deck.get_mut(&card.id).unwrap();
handle_hand(&mut card, &mut p1, &mut p2);
}
return Ok(());
});
}
这里是完整的游乐场链接:https://play.rust-lang.org/?gist=6079ade83e3fcf06f35397eac2e82d05&version=nightly
【问题讨论】:
标签: rust closures lifetime inference