M
Size: a a a
M
p
M
M
M
AV
a.test(a.test(1));
let res = a.test(1);
a.test(res);
a.test({ a.test(1) });
компилится?p
p
p
p
M
p
M
Э
cannot borrow `*a as mutable more than once at a time
Copy
, там реборровинг происходит и внешний происходит до внутреннего, поэтому лайфтаймы ломаются.Э
fn foo(&mut self) {
let s = self;
{ let q = self; *q = 0; }
*s += 1;
}
M
IA
MB
AV
const i: Quat = Quat::new(0, 1, 0, 0);
?