Skip to content

Commit

Permalink
Rollup merge of rust-lang#47515 - jimmantooth:patch-1, r=QuietMisdreavus
Browse files Browse the repository at this point in the history
Punctuation and clarity fixes.
  • Loading branch information
kennytm authored Jan 30, 2018
2 parents 90eb44a + c2e2612 commit 19aac09
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions src/doc/unstable-book/src/language-features/generators.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,11 +139,11 @@ closure-like semantics. Namely:
types and such.

* Traits like `Send` and `Sync` are automatically implemented for a `Generator`
depending on the captured variables of the environment. Unlike closures though
depending on the captured variables of the environment. Unlike closures,
generators also depend on variables live across suspension points. This means
that although the ambient environment may be `Send` or `Sync`, the generator
itself may not be due to internal variables live across `yield` points being
not-`Send` or not-`Sync`. Note, though, that generators, like closures, do
not-`Send` or not-`Sync`. Note that generators, like closures, do
not implement traits like `Copy` or `Clone` automatically.

* Whenever a generator is dropped it will drop all captured environment
Expand All @@ -155,7 +155,7 @@ lifted at a future date, the design is ongoing!

### Generators as state machines

In the compiler generators are currently compiled as state machines. Each
In the compiler, generators are currently compiled as state machines. Each
`yield` expression will correspond to a different state that stores all live
variables over that suspension point. Resumption of a generator will dispatch on
the current state and then execute internally until a `yield` is reached, at
Expand Down

0 comments on commit 19aac09

Please sign in to comment.