From 1fb00f90261ad06db333556b94ebdf0861fe172b Mon Sep 17 00:00:00 2001 From: Chris Krycho Date: Tue, 21 Jan 2025 16:29:53 -0700 Subject: [PATCH] Redirects: get rid of the weird gap in Ch. 20 sections! Bonus: fix internal *numbering* references in several places where I had missed it when renumbering the links for the new Ch. 17. --- 2018-edition/src/ch19-03-advanced-traits.md | 2 +- 2018-edition/src/ch19-04-advanced-types.md | 2 +- .../src/ch19-05-advanced-functions-and-closures.md | 2 +- 2018-edition/src/ch19-06-macros.md | 2 +- book.toml | 12 ++++++++---- first-edition/src/associated-types.md | 2 +- first-edition/src/macros.md | 2 +- first-edition/src/operators-and-overloading.md | 2 +- first-edition/src/procedural-macros.md | 2 +- first-edition/src/type-aliases.md | 2 +- first-edition/src/unsized-types.md | 2 +- redirects/associated-types.md | 2 +- redirects/macros.md | 2 +- redirects/match.md | 2 +- redirects/operators-and-overloading.md | 2 +- redirects/procedural-macros.md | 4 ++-- redirects/trait-objects.md | 2 +- redirects/traits.md | 4 ++-- redirects/type-aliases.md | 2 +- redirects/ufcs.md | 2 +- redirects/unsafe.md | 2 +- redirects/unsized-types.md | 2 +- second-edition/src/appendix-04-macros.md | 2 +- second-edition/src/ch19-03-advanced-traits.md | 2 +- second-edition/src/ch19-04-advanced-types.md | 2 +- .../src/ch19-05-advanced-functions-and-closures.md | 2 +- src/SUMMARY.md | 8 ++++---- src/appendix-03-derivable-traits.md | 2 +- src/ch18-02-trait-objects.md | 2 +- src/ch18-03-oo-design-patterns.md | 2 +- ...advanced-traits.md => ch20-02-advanced-traits.md} | 2 +- ...4-advanced-types.md => ch20-03-advanced-types.md} | 2 +- ...md => ch20-04-advanced-functions-and-closures.md} | 2 +- src/{ch20-06-macros.md => ch20-05-macros.md} | 0 src/ch21-02-multithreaded.md | 2 +- 35 files changed, 46 insertions(+), 42 deletions(-) rename src/{ch20-03-advanced-traits.md => ch20-02-advanced-traits.md} (99%) rename src/{ch20-04-advanced-types.md => ch20-03-advanced-types.md} (99%) rename src/{ch20-05-advanced-functions-and-closures.md => ch20-04-advanced-functions-and-closures.md} (98%) rename src/{ch20-06-macros.md => ch20-05-macros.md} (100%) diff --git a/2018-edition/src/ch19-03-advanced-traits.md b/2018-edition/src/ch19-03-advanced-traits.md index 88ca1a55b4..94f578ae28 100644 --- a/2018-edition/src/ch19-03-advanced-traits.md +++ b/2018-edition/src/ch19-03-advanced-traits.md @@ -3,7 +3,7 @@ The 2018 edition of the book is no longer distributed with Rust's documentation. If you came here via a link or web search, you may want to check out [the current -version of the book](../ch20-03-advanced-traits.html) instead. +version of the book](../ch20-02-advanced-traits.html) instead. If you have an internet connection, you can [find a copy distributed with Rust diff --git a/2018-edition/src/ch19-04-advanced-types.md b/2018-edition/src/ch19-04-advanced-types.md index c7c24439f9..7628f68b42 100644 --- a/2018-edition/src/ch19-04-advanced-types.md +++ b/2018-edition/src/ch19-04-advanced-types.md @@ -3,7 +3,7 @@ The 2018 edition of the book is no longer distributed with Rust's documentation. If you came here via a link or web search, you may want to check out [the current -version of the book](../ch20-04-advanced-types.html) instead. +version of the book](../ch20-03-advanced-types.html) instead. If you have an internet connection, you can [find a copy distributed with Rust diff --git a/2018-edition/src/ch19-05-advanced-functions-and-closures.md b/2018-edition/src/ch19-05-advanced-functions-and-closures.md index c46fd485e1..d31f20a62f 100644 --- a/2018-edition/src/ch19-05-advanced-functions-and-closures.md +++ b/2018-edition/src/ch19-05-advanced-functions-and-closures.md @@ -3,7 +3,7 @@ The 2018 edition of the book is no longer distributed with Rust's documentation. If you came here via a link or web search, you may want to check out [the current -version of the book](../ch20-05-advanced-functions-and-closures.html) instead. +version of the book](../ch20-04-advanced-functions-and-closures.html) instead. If you have an internet connection, you can [find a copy distributed with Rust diff --git a/2018-edition/src/ch19-06-macros.md b/2018-edition/src/ch19-06-macros.md index 838a0b8328..cd92908bb0 100644 --- a/2018-edition/src/ch19-06-macros.md +++ b/2018-edition/src/ch19-06-macros.md @@ -3,7 +3,7 @@ The 2018 edition of the book is no longer distributed with Rust's documentation. If you came here via a link or web search, you may want to check out [the current -version of the book](../ch20-06-macros.html) instead. +version of the book](../ch20-05-macros.html) instead. If you have an internet connection, you can [find a copy distributed with Rust diff --git a/book.toml b/book.toml index 491916a1cc..a17483878f 100644 --- a/book.toml +++ b/book.toml @@ -21,10 +21,14 @@ git-repository-url = "https://github.com/rust-lang/book" "ch18-03-pattern-syntax.html" = "ch19-03-pattern-syntax.html" "ch19-00-advanced-features.html" = "ch20-00-advanced-features.html" "ch19-01-unsafe-rust.html" = "ch20-01-unsafe-rust.html" -"ch19-03-advanced-traits.html" = "ch20-03-advanced-traits.html" -"ch19-04-advanced-types.html" = "ch20-04-advanced-types.html" -"ch19-05-advanced-functions-and-closures.html" = "ch20-05-advanced-functions-and-closures.html" -"ch19-06-macros.html" = "ch20-06-macros.html" +"ch19-03-advanced-traits.html" = "ch20-02-advanced-traits.html" +"ch20-03-advanced-traits.html" = "ch20-02-advanced-traits.html" +"ch19-04-advanced-types.html" = "ch20-03-advanced-types.html" +"ch20-04-advanced-types.html" = "ch20-03-advanced-types.html" +"ch19-05-advanced-functions-and-closures.html" = "ch20-04-advanced-functions-and-closures.html" +"ch20-05-advanced-functions-and-closures.html" = "ch20-04-advanced-functions-and-closures.html" +"ch19-06-macros.html" = "ch20-05-macros.html" +"ch20-06-macros.html" = "ch20-05-macros.html" "ch20-00-final-project-a-web-server.html" = "ch21-00-final-project-a-web-server.html" "ch20-01-single-threaded.html" = "ch21-01-single-threaded.html" "ch20-02-multithreaded.html" = "ch21-02-multithreaded.html" diff --git a/first-edition/src/associated-types.md b/first-edition/src/associated-types.md index be78034984..69340a5392 100644 --- a/first-edition/src/associated-types.md +++ b/first-edition/src/associated-types.md @@ -3,7 +3,7 @@ The first edition of the book is no longer distributed with Rust's documentation. If you came here via a link or web search, you may want to check out [the current -version of the book](../ch20-03-advanced-traits.html#specifying-placeholder-types-in-trait-definitions-with-associated-types) instead. +version of the book](../ch20-02-advanced-traits.html#specifying-placeholder-types-in-trait-definitions-with-associated-types) instead. If you have an internet connection, you can [find a copy distributed with Rust diff --git a/first-edition/src/macros.md b/first-edition/src/macros.md index eb9871ca4a..587f0c79b1 100644 --- a/first-edition/src/macros.md +++ b/first-edition/src/macros.md @@ -3,7 +3,7 @@ The first edition of the book is no longer distributed with Rust's documentation. If you came here via a link or web search, you may want to check out [the current -version of the book](../ch20-06-macros.html) instead. +version of the book](../ch20-05-macros.html) instead. If you have an internet connection, you can [find a copy distributed with Rust diff --git a/first-edition/src/operators-and-overloading.md b/first-edition/src/operators-and-overloading.md index a13f444376..2b4eecfbd4 100644 --- a/first-edition/src/operators-and-overloading.md +++ b/first-edition/src/operators-and-overloading.md @@ -3,7 +3,7 @@ The first edition of the book is no longer distributed with Rust's documentation. If you came here via a link or web search, you may want to check out [the current -version of the book](../ch20-03-advanced-traits.html#default-generic-type-parameters-and-operator-overloading) instead. +version of the book](../ch20-02-advanced-traits.html#default-generic-type-parameters-and-operator-overloading) instead. If you have an internet connection, you can [find a copy distributed with Rust diff --git a/first-edition/src/procedural-macros.md b/first-edition/src/procedural-macros.md index 3b683a9759..b52a43d748 100644 --- a/first-edition/src/procedural-macros.md +++ b/first-edition/src/procedural-macros.md @@ -3,7 +3,7 @@ The first edition of the book is no longer distributed with Rust's documentation. If you came here via a link or web search, you may want to check out [the current -version of the book](../ch20-06-macros.html?highlight=procedural#procedural-macros-for-generating-code-from-attributes) instead. +version of the book](../ch20-05-macros.html?highlight=procedural#procedural-macros-for-generating-code-from-attributes) instead. If you have an internet connection, you can [find a copy distributed with Rust diff --git a/first-edition/src/type-aliases.md b/first-edition/src/type-aliases.md index d79974e550..8e9bde0f11 100644 --- a/first-edition/src/type-aliases.md +++ b/first-edition/src/type-aliases.md @@ -3,7 +3,7 @@ The first edition of the book is no longer distributed with Rust's documentation. If you came here via a link or web search, you may want to check out [the current -version of the book](../ch20-04-advanced-types.html#creating-type-synonyms-with-type-aliases) instead. +version of the book](../ch20-03-advanced-types.html#creating-type-synonyms-with-type-aliases) instead. If you have an internet connection, you can [find a copy distributed with Rust diff --git a/first-edition/src/unsized-types.md b/first-edition/src/unsized-types.md index 5fb51b1fd2..cc16741f9c 100644 --- a/first-edition/src/unsized-types.md +++ b/first-edition/src/unsized-types.md @@ -3,7 +3,7 @@ The first edition of the book is no longer distributed with Rust's documentation. If you came here via a link or web search, you may want to check out [the current -version of the book](../ch20-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait) instead. +version of the book](../ch20-03-advanced-types.html#dynamically-sized-types-and-the-sized-trait) instead. If you have an internet connection, you can [find a copy distributed with Rust diff --git a/redirects/associated-types.md b/redirects/associated-types.md index af052c160d..f91fc23d6f 100644 --- a/redirects/associated-types.md +++ b/redirects/associated-types.md @@ -14,4 +14,4 @@ pub trait Iterator { --- You can find the latest version of this information -[here](ch20-03-advanced-traits.html#specifying-placeholder-types-in-trait-definitions-with-associated-types). +[here](ch20-02-advanced-traits.html#specifying-placeholder-types-in-trait-definitions-with-associated-types). diff --git a/redirects/macros.md b/redirects/macros.md index 828d484dd6..f8ada9abf9 100644 --- a/redirects/macros.md +++ b/redirects/macros.md @@ -18,7 +18,7 @@ fn main() { Here are the relevant sections in the new and old books: -* **[In the current edition: Ch 19.06 Macros][2]** +* **[In the current edition: Ch 20.05 Macros][2]** * [Rust By Example: Macros][3] * [In the Rust Reference: Ch 3.1 — Macros by Example][4] * [In the first edition: Ch 3.34 — Macros][1] diff --git a/redirects/match.md b/redirects/match.md index 5bcbc89495..c76ffadb7a 100644 --- a/redirects/match.md +++ b/redirects/match.md @@ -28,7 +28,7 @@ fn value_in_cents(coin: Coin) -> u32 { Here are the relevant sections in the new and old books: * **[in the current edition: Ch 6.02 — The `match` Control Flow Operator][2]** -* [in the current edition: Ch 18.00 — Patterns][3] +* [in the current edition: Ch 19.00 — Patterns][3] * [In the first edition: Ch 3.14 — Match][1] diff --git a/redirects/operators-and-overloading.md b/redirects/operators-and-overloading.md index 3a61fbabc4..b77cf7c913 100644 --- a/redirects/operators-and-overloading.md +++ b/redirects/operators-and-overloading.md @@ -33,4 +33,4 @@ fn main() { --- You can find the latest version of this information -[here](ch20-03-advanced-traits.html). +[here](ch20-02-advanced-traits.html). diff --git a/redirects/procedural-macros.md b/redirects/procedural-macros.md index 07657f6c88..7c72392b70 100644 --- a/redirects/procedural-macros.md +++ b/redirects/procedural-macros.md @@ -9,13 +9,13 @@ This chapter does not exist yet in [the second edition][2]. You can check out other resources that describe macros. -* **[In the current edition: Ch 19.06 Macros][2]** +* **[In the current edition: Ch 20.05 Macros][2]** * [In the Rust Reference: Ch 3.2 — Procedural Macros][4] * [The `proc_macro` crate documentation][3] * [In the first edition: Ch 4.13 — Procedural Macros (and custom Derive)][1] [1]: https://doc.rust-lang.org/1.30.0/book/first-edition/procedural-macros.html -[2]: ch20-06-macros.html +[2]: ch20-05-macros.html [3]: ../proc_macro/index.html [4]: ../reference/procedural-macros.html diff --git a/redirects/trait-objects.md b/redirects/trait-objects.md index 44ca328235..a0e7438d45 100644 --- a/redirects/trait-objects.md +++ b/redirects/trait-objects.md @@ -60,7 +60,7 @@ fn main() { Here are the relevant sections in the new and old books: -* **[in the current edition: Ch 17.02 — Trait Objects][2]** +* **[in the current edition: Ch 18.02 — Trait Objects][2]** * [In the first edition: Ch 3.22 — Trait Objects][1] diff --git a/redirects/traits.md b/redirects/traits.md index b36ede6640..9f883c30f5 100644 --- a/redirects/traits.md +++ b/redirects/traits.md @@ -15,10 +15,10 @@ pub trait Summarizable { Here are the relevant sections in the new and old books: * **[in the current edition: Ch 10.02 — Traits][2]** -* [in the current edition: Ch 19.03 — Advanced Traits][3] +* [in the current edition: Ch 20.03 — Advanced Traits][3] * [In the first edition: Ch 3.19 — Traits][1] [1]: https://doc.rust-lang.org/1.30.0/book/first-edition/traits.html [2]: ch10-02-traits.html -[3]: ch20-03-advanced-traits.html +[3]: ch20-02-advanced-traits.html diff --git a/redirects/type-aliases.md b/redirects/type-aliases.md index 84f94e41e9..986e7b9e33 100644 --- a/redirects/type-aliases.md +++ b/redirects/type-aliases.md @@ -11,4 +11,4 @@ type Kilometers = i32; --- You can find the latest version of this information -[here](ch20-04-advanced-types.html#creating-type-synonyms-with-type-aliases). +[here](ch20-03-advanced-types.html#creating-type-synonyms-with-type-aliases). diff --git a/redirects/ufcs.md b/redirects/ufcs.md index 684c02ec77..383465398b 100644 --- a/redirects/ufcs.md +++ b/redirects/ufcs.md @@ -45,4 +45,4 @@ fn main() { --- You can find the latest version of this information -[here](ch20-03-advanced-traits.html#fully-qualified-syntax-for-disambiguation-calling-methods-with-the-same-name). +[here](ch20-02-advanced-traits.html#fully-qualified-syntax-for-disambiguation-calling-methods-with-the-same-name). diff --git a/redirects/unsafe.md b/redirects/unsafe.md index 94ee8ad777..7d9adb39d8 100644 --- a/redirects/unsafe.md +++ b/redirects/unsafe.md @@ -8,7 +8,7 @@ Here are the relevant sections in the new and old books: -* **[in the current edition: Ch 19.01 — Unsafe Rust][2]** +* **[in the current edition: Ch 20.01 — Unsafe Rust][2]** * [The Rustonomicon, The Dark Arts of Advanced and Unsafe Rust Programming][3] * [In the first edition: Ch 3.36 — `unsafe`][1] diff --git a/redirects/unsized-types.md b/redirects/unsized-types.md index 6e8d19da4a..a9ca1e03e0 100644 --- a/redirects/unsized-types.md +++ b/redirects/unsized-types.md @@ -15,4 +15,4 @@ fn generic(t: &T) { --- You can find the latest version of this information -[here](ch20-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait). +[here](ch20-03-advanced-types.html#dynamically-sized-types-and-the-sized-trait). diff --git a/second-edition/src/appendix-04-macros.md b/second-edition/src/appendix-04-macros.md index dfcdcec07c..f04f9eb4e8 100644 --- a/second-edition/src/appendix-04-macros.md +++ b/second-edition/src/appendix-04-macros.md @@ -3,7 +3,7 @@ The second edition of the book is no longer distributed with Rust's documentation. If you came here via a link or web search, you may want to check out [the current -version of the book](../ch20-06-macros.html) instead. +version of the book](../ch20-05-macros.html) instead. If you have an internet connection, you can [find a copy distributed with Rust diff --git a/second-edition/src/ch19-03-advanced-traits.md b/second-edition/src/ch19-03-advanced-traits.md index 56b9c7e662..07c9d71a54 100644 --- a/second-edition/src/ch19-03-advanced-traits.md +++ b/second-edition/src/ch19-03-advanced-traits.md @@ -3,7 +3,7 @@ The second edition of the book is no longer distributed with Rust's documentation. If you came here via a link or web search, you may want to check out [the current -version of the book](../ch20-03-advanced-traits.html) instead. +version of the book](../ch20-02-advanced-traits.html) instead. If you have an internet connection, you can [find a copy distributed with Rust diff --git a/second-edition/src/ch19-04-advanced-types.md b/second-edition/src/ch19-04-advanced-types.md index c217a12b5a..153ad9cf44 100644 --- a/second-edition/src/ch19-04-advanced-types.md +++ b/second-edition/src/ch19-04-advanced-types.md @@ -3,7 +3,7 @@ The second edition of the book is no longer distributed with Rust's documentation. If you came here via a link or web search, you may want to check out [the current -version of the book](../ch20-04-advanced-types.html) instead. +version of the book](../ch20-03-advanced-types.html) instead. If you have an internet connection, you can [find a copy distributed with Rust diff --git a/second-edition/src/ch19-05-advanced-functions-and-closures.md b/second-edition/src/ch19-05-advanced-functions-and-closures.md index 6c296b9efe..2d8b64c07d 100644 --- a/second-edition/src/ch19-05-advanced-functions-and-closures.md +++ b/second-edition/src/ch19-05-advanced-functions-and-closures.md @@ -3,7 +3,7 @@ The second edition of the book is no longer distributed with Rust's documentation. If you came here via a link or web search, you may want to check out [the current -version of the book](../ch20-05-advanced-functions-and-closures.html) instead. +version of the book](../ch20-04-advanced-functions-and-closures.html) instead. If you have an internet connection, you can [find a copy distributed with Rust diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 5a83bd0b00..683b997667 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -123,10 +123,10 @@ - [Advanced Features](ch20-00-advanced-features.md) - [Unsafe Rust](ch20-01-unsafe-rust.md) - - [Advanced Traits](ch20-03-advanced-traits.md) - - [Advanced Types](ch20-04-advanced-types.md) - - [Advanced Functions and Closures](ch20-05-advanced-functions-and-closures.md) - - [Macros](ch20-06-macros.md) + - [Advanced Traits](ch20-02-advanced-traits.md) + - [Advanced Types](ch20-03-advanced-types.md) + - [Advanced Functions and Closures](ch20-04-advanced-functions-and-closures.md) + - [Macros](ch20-05-macros.md) - [Final Project: Building a Multithreaded Web Server](ch21-00-final-project-a-web-server.md) - [Building a Single-Threaded Web Server](ch21-01-single-threaded.md) diff --git a/src/appendix-03-derivable-traits.md b/src/appendix-03-derivable-traits.md index 2365ade130..c1839b276f 100644 --- a/src/appendix-03-derivable-traits.md +++ b/src/appendix-03-derivable-traits.md @@ -181,4 +181,4 @@ The `Default` trait is required when you use the method `unwrap_or_default` on [creating-instances-from-other-instances-with-struct-update-syntax]: ch05-01-defining-structs.html#creating-instances-from-other-instances-with-struct-update-syntax [stack-only-data-copy]: ch04-01-what-is-ownership.html#stack-only-data-copy [ways-variables-and-data-interact-clone]: ch04-01-what-is-ownership.html#ways-variables-and-data-interact-clone -[macros]: ch20-06-macros.html#macros +[macros]: ch20-05-macros.html#macros diff --git a/src/ch18-02-trait-objects.md b/src/ch18-02-trait-objects.md index 980b1206c7..db118ef223 100644 --- a/src/ch18-02-trait-objects.md +++ b/src/ch18-02-trait-objects.md @@ -245,5 +245,5 @@ that we wrote in Listing 18-5 and were able to support in Listing 18-9, so it’ a trade-off to consider. [performance-of-code-using-generics]: ch10-01-syntax.html#performance-of-code-using-generics -[dynamically-sized]: ch20-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait +[dynamically-sized]: ch20-03-advanced-types.html#dynamically-sized-types-and-the-sized-trait [dyn-compatibility]: https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility diff --git a/src/ch18-03-oo-design-patterns.md b/src/ch18-03-oo-design-patterns.md index 8f50a56fdb..e46f34d82a 100644 --- a/src/ch18-03-oo-design-patterns.md +++ b/src/ch18-03-oo-design-patterns.md @@ -503,4 +503,4 @@ lots of flexibility. We’ve looked at them briefly throughout the book but haven’t seen their full capability yet. Let’s go! [more-info-than-rustc]: ch09-03-to-panic-or-not-to-panic.html#cases-in-which-you-have-more-information-than-the-compiler -[macros]: ch20-06-macros.html#macros +[macros]: ch20-05-macros.html#macros diff --git a/src/ch20-03-advanced-traits.md b/src/ch20-02-advanced-traits.md similarity index 99% rename from src/ch20-03-advanced-traits.md rename to src/ch20-02-advanced-traits.md index 58a2ff86ab..ebb9fff0a8 100644 --- a/src/ch20-03-advanced-traits.md +++ b/src/ch20-02-advanced-traits.md @@ -453,7 +453,7 @@ behavior—we would have to implement just the methods we do want manually. This newtype pattern is also useful even when traits are not involved. Let’s switch focus and look at some advanced ways to interact with Rust’s type system. -[newtype]: ch20-03-advanced-traits.html#using-the-newtype-pattern-to-implement-external-traits-on-external-types +[newtype]: ch20-02-advanced-traits.html#using-the-newtype-pattern-to-implement-external-traits-on-external-types [implementing-a-trait-on-a-type]: ch10-02-traits.html#implementing-a-trait-on-a-type [traits-defining-shared-behavior]: ch10-02-traits.html#traits-defining-shared-behavior [smart-pointer-deref]: ch15-02-deref.html#treating-smart-pointers-like-regular-references-with-the-deref-trait diff --git a/src/ch20-04-advanced-types.md b/src/ch20-03-advanced-types.md similarity index 99% rename from src/ch20-04-advanced-types.md rename to src/ch20-03-advanced-types.md index 498a3c36b6..b61bdf6e2f 100644 --- a/src/ch20-04-advanced-types.md +++ b/src/ch20-03-advanced-types.md @@ -295,4 +295,4 @@ Next, we’ll talk about functions and closures! [string-slices]: ch04-03-slices.html#string-slices [the-match-control-flow-operator]: ch06-02-match.html#the-match-control-flow-operator [using-trait-objects-that-allow-for-values-of-different-types]: ch18-02-trait-objects.html#using-trait-objects-that-allow-for-values-of-different-types -[using-the-newtype-pattern]: ch20-03-advanced-traits.html#using-the-newtype-pattern-to-implement-external-traits-on-external-types +[using-the-newtype-pattern]: ch20-02-advanced-traits.html#using-the-newtype-pattern-to-implement-external-traits-on-external-types diff --git a/src/ch20-05-advanced-functions-and-closures.md b/src/ch20-04-advanced-functions-and-closures.md similarity index 98% rename from src/ch20-05-advanced-functions-and-closures.md rename to src/ch20-04-advanced-functions-and-closures.md index 637c31b559..e8692eea93 100644 --- a/src/ch20-05-advanced-functions-and-closures.md +++ b/src/ch20-04-advanced-functions-and-closures.md @@ -121,7 +121,7 @@ Types”][using-trait-objects-that-allow-for-values-of-different-types]