【发布时间】:2020-12-08 06:49:29
【问题描述】:
代码如下,由于a 被声明为不可变,我们无法从a 获取可变引用,对吧?但是这个已经编译了,这是为什么呢?
struct Foo;
fn main() {
let a = &mut Foo;
a.mut_ref();
}
impl Foo {
fn mut_ref(&mut self) { }
}
【问题讨论】:
-
您实际上并没有在此代码中获得对
a的可变引用,但这仍然是一个好问题。我知道它是这样,但我无法机械地解释它。
标签: rust