我正在尝试理解一个implementation of a binary tree in Rust而我无法围绕locate_mut
函数中的一些范围魔术:
match {anchor} {
&mut Some(ref mut node) if key != node.value.key() => {
anchor = if key < node.value.key() {
&mut node.left
} else {
&mut node.right
}
},
other @ &mut Some(_) |
other @ &mut None => return other
}