Files
book/Cargo.toml
Chris Krycho 068f30b406 Ch 17.02: motivating futures::join! and Box::pin
Up to this point, the chapter has stuck to `join` and `join3`, as simple
function-based APIs. The `join_all` API is obviously more convenient
than those *if you can use it*, but being able to use it requires having
something which `impl Iterator` of a given type, and therefore demands a
homogeneous type, which motivates introducing `Box::pin`.

That in turn is quite annoying to work with and requires `Output =
<same>` for all the futures in the collection, because of how `join_all`
is typed (Rust does not have the ability to do do variadic types, which
is what would be necessary for `join_all` to work the way we might
want). Thus, we get a motivation for `futures::join!`, which unlike
`join_all` *can* work with heterogeneous types.

This fills out a fair bit of the text here and adds a lot of the listing
support, and outlines what remains to do text-wise.
2024-06-12 13:42:09 -06:00

27 lines
884 B
TOML

[workspace]
members = ["packages/tools"]
default-members = ["packages/tools"]
resolver = "2"
exclude = [
"linkchecker", # linkchecker is part of the CI workflow
"listings", # these are intentionally distinct from the workspace
"tmp", # listings are built here when updating output via tools/update-rustc.sh
"packages/trpl", # manages its own dependencies as a standalone crate
# These are used as path dependencies in `rust-lang/rust` (since we are not
# publishing them to crates.io), so they cannot be part of this workspace,
# because path dependencies do not get built as a crate within the hosting
# workspace.
"packages/mdbook-trpl-listing",
"packages/mdbook-trpl-note",
]
[workspace.dependencies]
walkdir = "2.3.1"
docopt = "1.1.0"
serde = "1.0"
regex = "1.3.3"
lazy_static = "1.4.0"
flate2 = "1.0.13"
tar = "0.4.26"