为了理解Rust中的所有权和借款,我遇到了这个场景,其中我创建了一个对象a
(它应该是所有者),然后将其borrow 到b
中.然后,我试着跟踪a
:
#[derive(Debug)]
struct Struct1;
#[derive(Debug)]
struct Struct2;
fn main() {
let a = Struct1;
let b = &a;
let a = Struct2;
println!("{:?} {:?}", a, b);
}
问题是,我预计这会失败,但它实际上工作,输出:
Struct2 Struct1
如果我影子a
,借来的b
的主人在哪里?