Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[wip] Edits for async chapter #3965

Merged
merged 31 commits into from
Jul 15, 2024
Merged

[wip] Edits for async chapter #3965

merged 31 commits into from
Jul 15, 2024

Conversation

chriskrycho
Copy link
Contributor

We have now effectively “frozen” the only-new-async branch to allow some early readers to take a look at it. Going forward, I will be landing a bunch of iterative work on this branch, including:

  • rewriting the transition out of ch. 16.

  • updating references throughout the rest of the book as makes sense.

  • editing and revising the new material in the chapter (classic red-pen-style!)

    editing

Once we have gotten that first round of feedback, I will also integrate that here, and then we can merge this into the only-new-async branch.

- Rewrite the end of Ch. 16 to account for the fact that it no longer
  transitions to the OOP/etc. chapter.
- Add a summary to the end of Ch. 17, pulling over a bunch of the text
  that was previously in the end of Ch. 16.
- Rewrite the introduction to Ch. 17, for a more seamless shift from
  Ch. 16 and contextualizing async in the broader software ecosystem.
chriskrycho and others added 20 commits July 1, 2024 15:33
Revise the text itself, of course; but also fold together Listings 04
and 05, which also lets us expand Listing 03 into two listings (which I
did not do previously because I knew this kind of thing would come up
later!).
- The usual kinds of clarifications, cleaning up redundancies, etc.
- Fold together listings:
    - 8 and 9 → 8
    - 10, 11, 12 → 9
    - 13 → 10
    - 15 → 11
    - 16 → 12
- Tweak the durations used for the listings throughout this section,
  including making the durations *differ* between the two sending blocks
  in the final example.
Update the listings, eliminating them where possible and adding notes
about manual regeneration as necessary. Also clean up a *lot* of issues
with wording, phrasing, etc.!
That is, don't remove the square brackets in these cases. I don't know
how I lived like this.
- Made a bunch of structural changes, including removing an entire
  unhelpful aside with an example that actually just confused things,
  and I *think* it is much more technically accurate *and* much easier
  to follow.
- Updated the listings referenced within it for their new numberings,
  including deleting one per the above.
Eliminate `trpl::timeout` entirely. Instead, just build the `timeout`
directly (as the rest of the section already did). Restructure the
listings as well, eliminating duplication and extraneous bits.
A number of examples *already* do not work correctly, and the inbound
async chapter requires Rust 2021.
- Flip the order, so that the semi-practical introduction comes first.
- Merge several of the listings together.
- The usual polishing and iterating on the text.
@chriskrycho chriskrycho merged commit dd155f2 into only-new-async Jul 15, 2024
2 of 6 checks passed
@chriskrycho chriskrycho deleted the async-edits branch July 15, 2024 14:48
@chriskrycho
Copy link
Contributor Author

Merged into #3909. An async-edits branch will likely re-appear with a new PR in the future targeting that branch, as we get more edits from reader feedback, but the first major revision (my own!) has landed there. 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants