Skip to content

Commit

Permalink
Fix links to Rust unstable book
Browse files Browse the repository at this point in the history
  • Loading branch information
phil-opp committed Feb 8, 2024
1 parent 71e5ea0 commit 71f5d22
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
4 changes: 2 additions & 2 deletions blog/content/edition-2/posts/12-async-await/index.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -469,9 +469,9 @@ ExampleStateMachine::End(_) => {

Futureは `Poll::Ready` を返した後、再びポーリングされるべきではありません。したがって、すでに `End` の状態にあるときに `poll` が呼ばれるとパニックするようにしましょう。

コンパイラが生成するステートマシンとその `Future` traitの実装はこのようになっている**かもしれません**。実際には、コンパイラは異なる方法でコードを生成しています。 (一応、現在は[_generators_]をベースにした実装になっていますが、これはあくまでも実装の詳細です。)
コンパイラが生成するステートマシンとその `Future` traitの実装はこのようになっている**かもしれません**。実際には、コンパイラは異なる方法でコードを生成しています。 (一応、現在は[_coroutines_]をベースにした実装になっていますが、これはあくまでも実装の詳細です。)

[_generators_]: https://doc.rust-lang.org/stable/unstable-book/language-features/generators.html
[_coroutines_]: https://doc.rust-lang.org/stable/unstable-book/language-features/coroutines.html

パズルの最後のピースは、生成された `example` 関数自体のコードです。関数のヘッダは次のように定義されていたことを思い出してください:

Expand Down
4 changes: 2 additions & 2 deletions blog/content/edition-2/posts/12-async-await/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -462,9 +462,9 @@ ExampleStateMachine::End(_) => {

Futures should not be polled again after they returned `Poll::Ready`, so we panic if `poll` is called while we are already in the `End` state.

We now know what the compiler-generated state machine and its implementation of the `Future` trait _could_ look like. In practice, the compiler generates code in a different way. (In case you're interested, the implementation is currently based on [_generators_], but this is only an implementation detail.)
We now know what the compiler-generated state machine and its implementation of the `Future` trait _could_ look like. In practice, the compiler generates code in a different way. (In case you're interested, the implementation is currently based on [_coroutines_], but this is only an implementation detail.)

[_generators_]: https://doc.rust-lang.org/stable/unstable-book/language-features/generators.html
[_coroutines_]: https://doc.rust-lang.org/stable/unstable-book/language-features/coroutines.html

The last piece of the puzzle is the generated code for the `example` function itself. Remember, the function header was defined like this:

Expand Down

0 comments on commit 71f5d22

Please sign in to comment.