【发布时间】:2021-04-25 12:37:58
【问题描述】:
美好的一天! 我试图将第一项移动到链表中的末尾。 我有一个这样的链表:
let mut list = LinkedList::new();
list.push_back('a');
list.push_back('b');
list.push_back('c');
如果我像这样移动项目:
list.push_back(list.pop_front().unwrap());
Rust 会抛出“第二个可变借用发生”错误。
但如果在另一行代码中获取第一项:
let str = list.pop_front().unwrap();
list.push_back(str);
那就好了。
为什么这两段代码的行为不同?我完全不明白..
【问题讨论】:
标签: rust borrow-checker