From 72ef4d98727689dfe76cad8f9a0e2dbfae869225 Mon Sep 17 00:00:00 2001 From: Jesse <35264598+JesseAtSZ@users.noreply.github.com> Date: Tue, 11 Jan 2022 15:13:03 +0800 Subject: [PATCH 1/2] Update borrowing.md --- book/contents/basic/ownership/borrowing.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/book/contents/basic/ownership/borrowing.md b/book/contents/basic/ownership/borrowing.md index 36c7f424..d6ef3e32 100644 --- a/book/contents/basic/ownership/borrowing.md +++ b/book/contents/basic/ownership/borrowing.md @@ -225,9 +225,9 @@ fn main() { ### 悬垂引用(Dangling References) -所谓悬垂指针是其指向的内存可能已经被分配给其它持有者。相比之下,在 Rust 中编译器确保引用永远也不会变成悬垂状态:当你拥有一些数据的引用,编译器确保数据不会在其引用之前离开作用域。 +悬垂引用也叫做悬垂指针,指的是指针指向某个值后,这个值被释放掉了,而指针仍然存在,其指向的内存可能已经被分配给其它持有者。在 Rust 中编译器可以确保引用永远也不会变成悬垂状态:当你拥有一些数据的引用,编译器可以确保数据不会在其引用之前被释放,要想释放数据,必须先停止其引用的使用。 -让我们尝试创建一个悬垂引用,Rust会抛出一个编译时错误: +让我们尝试测试一个悬垂引用的例子,Rust会抛出一个编译时错误: ```rust fn main() { @@ -258,7 +258,7 @@ help: consider using the `'static` lifetime ``` -错误信息引用了一个我们还未介绍的功能:生命周期(lifetimes)。[该章](../../advance/lifetime.md)会详细介绍生命周期。不过,如果你不理会生命周期部分,错误信息中确实包含了为什么这段代码有问题的关键信息: +错误信息引用了一个我们还未介绍的功能:生命周期(lifetimes)。[该章](../../advance/lifetime.md)会详细介绍生命周期。不过,即使你不理解生命周期,也可以通过错误信息知道这段代码错误的关键信息: ```text this function's return type contains a borrowed value, but there is no value for it to be borrowed from. From f604a3f25451e7a91f33c78c3ab9472815bd212d Mon Sep 17 00:00:00 2001 From: Jesse <35264598+JesseAtSZ@users.noreply.github.com> Date: Tue, 11 Jan 2022 16:23:49 +0800 Subject: [PATCH 2/2] Update borrowing.md --- book/contents/basic/ownership/borrowing.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/book/contents/basic/ownership/borrowing.md b/book/contents/basic/ownership/borrowing.md index d6ef3e32..391d7378 100644 --- a/book/contents/basic/ownership/borrowing.md +++ b/book/contents/basic/ownership/borrowing.md @@ -225,9 +225,9 @@ fn main() { ### 悬垂引用(Dangling References) -悬垂引用也叫做悬垂指针,指的是指针指向某个值后,这个值被释放掉了,而指针仍然存在,其指向的内存可能已经被分配给其它持有者。在 Rust 中编译器可以确保引用永远也不会变成悬垂状态:当你拥有一些数据的引用,编译器可以确保数据不会在其引用之前被释放,要想释放数据,必须先停止其引用的使用。 +悬垂引用也叫做悬垂指针,指的是指针指向某个值后,这个值被释放掉了,而指针仍然存在,其指向的内存可能不存在任何值或已被其它变量重新使用。在 Rust 中编译器可以确保引用永远也不会变成悬垂状态:当你拥有一些数据的引用,编译器可以确保数据不会在其引用之前被释放,要想释放数据,必须先停止其引用的使用。 -让我们尝试测试一个悬垂引用的例子,Rust会抛出一个编译时错误: +让我们尝试创建一个悬垂引用,Rust会抛出一个编译时错误: ```rust fn main() {