diff --git a/src/Ch10_Generic_Types_Traits_and_Lifetimes.md b/src/Ch10_Generic_Types_Traits_and_Lifetimes.md index 6d79156..018ed99 100644 --- a/src/Ch10_Generic_Types_Traits_and_Lifetimes.md +++ b/src/Ch10_Generic_Types_Traits_and_Lifetimes.md @@ -914,7 +914,7 @@ error: could not compile `lifetimes_demo` due to previous error ### 借用检查器 -Rust 编译器有个对作用域加以比较,而确定出全部借用是否有效的 *借用检查器(a borrow checker)*。下面清单 10-17 就给出了与清单 10-16 同样的代码,不过有着显示其中变量生命周期的注解。 +Rust 编译器有着对作用域加以比较,而确定出全部借用是否有效的 *借用检查器,a borrow checker*。下面清单 10-17 给出了与清单 10-16 相同,而带有展示出变量生命周期注解的代码。 ```rust fn main() { @@ -931,7 +931,7 @@ fn main() { *清单 10-17:变量 `r` 与 `x` 生命周期的注解,各自取名为 `'a` 与 `'b`* -这里已使用 `'a` 与 `'b` 分别注解了变量 `r` 与 `x` 的生命周期。如同这里所看到的,内层的 `'b` 代码块,相比外层的 `'a` 声明周期代码块要小得多。在编译时,Rust 就会比较这两个生命周期的大小,并发现变量 `r` 有着 `'a` 的生命周期,但他却指向了一个 `'b` 的生命周期。由于生命周期 `'b` 比 `'a` 要短,于是该程序就被拒绝:引用物(the subject of the reference)未与引用变量,存活同样时间。 +这里,咱们以 `'a` 注解出了 `r` 的声明周期,与 `'b` 注解出 `x` 的生命周期。正如咱们所能看到的,相比外层 `'a` 声明周期代码块,那个内层 `'b` 代码块要小得多。在编译时,Rust 会比较这两个生命周期的大小,而发现变量 `r` 有着 `'a` 的生命周期,但他却指向了个 `'b` 的生命周期。由于生命周期 `'b` 比 `'a` 要短,于是该程序就被拒绝:引用物,the subject of the reference,未与引用变量存活同样时间。 下面清单 10-18 修复了该代码,因此他就没有悬空引用,进而就无误地编译了。