docs: fix some syntax errors8

pull/1528/head
Linc 2 weeks ago committed by GitHub
parent 3ab77b8af2
commit e9e1d6f260
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -120,7 +120,7 @@ Rust 中的裸指针其实就是让你可以做任何事情,但它们只有一
作为一个花了大量时间在 Rust 中编写集合的人,这让我感到厌烦。这就是为什么我在制作 [std::ptr::NonNull](https://doc.rust-lang.org/std/ptr/struct.NonNull.html), 时添加了这个小魔法: 作为一个花了大量时间在 Rust 中编写集合的人,这让我感到厌烦。这就是为什么我在制作 [std::ptr::NonNull](https://doc.rust-lang.org/std/ptr/struct.NonNull.html), 时添加了这个小魔法:
> 与 *mut T 不同NonNull<T> 在 T 上是 *covariant(协变的)*。这使得使用 NonNull<T> 构建*covariant(协变的)*类型成为可能,但如果在不应该是 *covariant(协变的)* 的地方中使用,则会带来不健全的风险。 > 与 *mut T 不同,`NonNull<T>` 在 T 上是 *covariant(协变的)*。这使得使用 `NonNull<T>` 构建*covariant(协变的)*类型成为可能,但如果在不应该是 *covariant(协变的)* 的地方中使用,则会带来不健全的风险。
这是一个围绕着 `*mut T` 构建的类型。真的是魔法吗?让我们来看一下: 这是一个围绕着 `*mut T` 构建的类型。真的是魔法吗?让我们来看一下:
@ -140,7 +140,7 @@ impl<T> NonNull<T> {
这里没有魔法NonNull 只是滥用了 *const T 是 *covariant(协变的)* 这一事实,并将其存储起来。这就是 Rust 中集合的协变方式!这可真是惨不忍睹!所以我为你做了这个 Good Pointer Type !不客气好好享受子类型吧 这里没有魔法NonNull 只是滥用了 *const T 是 *covariant(协变的)* 这一事实,并将其存储起来。这就是 Rust 中集合的协变方式!这可真是惨不忍睹!所以我为你做了这个 Good Pointer Type !不客气好好享受子类型吧
解决你所有问题的办法就是使用 NonNull然后如果你想再次使用可空指针就使用 Option<NonNull<T>>。我们真的要这么做吗? 解决你所有问题的办法就是使用 NonNull然后如果你想再次使用可空指针就使用 `Option<NonNull<T>>`。我们真的要这么做吗?
是的!这很糟糕,但我们要做的是生产级的链表,所以我们要吃尽千辛万苦(我们可以直接使用裸*const T然后在任何地方都进行转换但我真的想看看这样做有多痛苦......为了人体工程学科学)。 是的!这很糟糕,但我们要做的是生产级的链表,所以我们要吃尽千辛万苦(我们可以直接使用裸*const T然后在任何地方都进行转换但我真的想看看这样做有多痛苦......为了人体工程学科学)。

Loading…
Cancel
Save