|
|
@ -246,7 +246,7 @@ fn main() {
|
|
|
|
println!("{}", r3);
|
|
|
|
println!("{}", r3);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
```
|
|
|
|
按照上述规则,这段代码将会报错,因为`r1`和`r2`的不可变引用将持续到`main`函数结束,而在此范围内,我们又借用了`r3`的可变引用,这违反了借用的规则 : 要么多个可变借用,要么一个不可变借用。
|
|
|
|
按照上述规则,这段代码将会报错,因为`r1`和`r2`的不可变引用将持续到`main`函数结束,而在此范围内,我们又借用了`r3`的可变引用,这违反了借用的规则 : 要么多个不可变借用,要么一个可变借用。
|
|
|
|
|
|
|
|
|
|
|
|
好在,该规则从1.31版本引入NLL后,就变成了:**引用的生命周期从借用处开始,一直持续到最后一次使用的地方**。
|
|
|
|
好在,该规则从1.31版本引入NLL后,就变成了:**引用的生命周期从借用处开始,一直持续到最后一次使用的地方**。
|
|
|
|
|
|
|
|
|
|
|
|