修正一处错别字

pull/877/head
chen.chen 4 days ago
parent de7f4be600
commit e2a5119d14

@ -218,7 +218,7 @@ received 'you'
这里还有一些我们可以进一步探索的内容。首先,因为通过 `Box` 来将这些 futures 放到堆上,使用 `Pin<Box<T>>` 会带来少量的额外开销,而我们这么做仅仅是为了使类型对齐。毕竟这里实际上并不 *需要* 堆分配:这些 futures 对于这个特定的函数来说是本地的。如上所述,`Pin` 本身是一个封装类型,因此我们可以在 `Vec` 中拥有单一类型的好处(也就是使用 `Box` 的初始原因)而不用堆分配。我们可以通过 `std::pin::pin` 宏来直接对每个 future 使用 `Pin` 这里还有一些我们可以进一步探索的内容。首先,因为通过 `Box` 来将这些 futures 放到堆上,使用 `Pin<Box<T>>` 会带来少量的额外开销,而我们这么做仅仅是为了使类型对齐。毕竟这里实际上并不 *需要* 堆分配:这些 futures 对于这个特定的函数来说是本地的。如上所述,`Pin` 本身是一个封装类型,因此我们可以在 `Vec` 中拥有单一类型的好处(也就是使用 `Box` 的初始原因)而不用堆分配。我们可以通过 `std::pin::pin` 宏来直接对每个 future 使用 `Pin`
然而,我们仍然必须现实地知道被 pin 的引用的类型:否则 Rust 仍然不知道如何将它们解释为动态 trait objects这是将它们放进 `Vec` 所需的。因此我们在定义每个 future 的时候使用 `pin!`,并将 `futures` 定义为一个包含被 pin 的动态 `Future` 类型的可变引用的 `Vec`,如示例 17-19 所示。 然而,我们仍然必须显式地知道被 pin 的引用的类型:否则 Rust 仍然不知道如何将它们解释为动态 trait objects这是将它们放进 `Vec` 所需的。因此我们在定义每个 future 的时候使用 `pin!`,并将 `futures` 定义为一个包含被 pin 的动态 `Future` 类型的可变引用的 `Vec`,如示例 17-19 所示。
<figure class="listing"> <figure class="listing">

Loading…
Cancel
Save