]> git.proxmox.com Git - rustc.git/blame - src/doc/book/second-edition/src/SUMMARY.md
New upstream version 1.23.0+dfsg1
[rustc.git] / src / doc / book / second-edition / src / SUMMARY.md
CommitLineData
cc61c64b
XL
1# The Rust Programming Language
2
3## Getting started
4
5- [Introduction](ch01-00-introduction.md)
6 - [Installation](ch01-01-installation.md)
7 - [Hello, World!](ch01-02-hello-world.md)
8
9- [Guessing Game Tutorial](ch02-00-guessing-game-tutorial.md)
10
11- [Common Programming Concepts](ch03-00-common-programming-concepts.md)
12 - [Variables and Mutability](ch03-01-variables-and-mutability.md)
13 - [Data Types](ch03-02-data-types.md)
14 - [How Functions Work](ch03-03-how-functions-work.md)
15 - [Comments](ch03-04-comments.md)
16 - [Control Flow](ch03-05-control-flow.md)
17
18- [Understanding Ownership](ch04-00-understanding-ownership.md)
19 - [What is Ownership?](ch04-01-what-is-ownership.md)
20 - [References & Borrowing](ch04-02-references-and-borrowing.md)
21 - [Slices](ch04-03-slices.md)
22
7cac9316
XL
23- [Using Structs to Structure Related Data](ch05-00-structs.md)
24 - [Defining and Instantiating Structs](ch05-01-defining-structs.md)
25 - [An Example Program Using Structs](ch05-02-example-structs.md)
26 - [Method Syntax](ch05-03-method-syntax.md)
cc61c64b
XL
27
28- [Enums and Pattern Matching](ch06-00-enums.md)
29 - [Defining an Enum](ch06-01-defining-an-enum.md)
30 - [The `match` Control Flow Operator](ch06-02-match.md)
31 - [Concise Control Flow with `if let`](ch06-03-if-let.md)
32
33## Basic Rust Literacy
34
35- [Modules](ch07-00-modules.md)
36 - [`mod` and the Filesystem](ch07-01-mod-and-the-filesystem.md)
37 - [Controlling Visibility with `pub`](ch07-02-controlling-visibility-with-pub.md)
abe05a73 38 - [Referring to Names in Different Modules](ch07-03-importing-names-with-use.md)
cc61c64b
XL
39
40- [Common Collections](ch08-00-common-collections.md)
41 - [Vectors](ch08-01-vectors.md)
42 - [Strings](ch08-02-strings.md)
43 - [Hash Maps](ch08-03-hash-maps.md)
44
45- [Error Handling](ch09-00-error-handling.md)
46 - [Unrecoverable Errors with `panic!`](ch09-01-unrecoverable-errors-with-panic.md)
47 - [Recoverable Errors with `Result`](ch09-02-recoverable-errors-with-result.md)
48 - [To `panic!` or Not To `panic!`](ch09-03-to-panic-or-not-to-panic.md)
49
50- [Generic Types, Traits, and Lifetimes](ch10-00-generics.md)
51 - [Generic Data Types](ch10-01-syntax.md)
52 - [Traits: Defining Shared Behavior](ch10-02-traits.md)
53 - [Validating References with Lifetimes](ch10-03-lifetime-syntax.md)
54
55- [Testing](ch11-00-testing.md)
56 - [Writing tests](ch11-01-writing-tests.md)
57 - [Running tests](ch11-02-running-tests.md)
58 - [Test Organization](ch11-03-test-organization.md)
59
041b39d2 60- [An I/O Project: Building a Command Line Program](ch12-00-an-io-project.md)
cc61c64b
XL
61 - [Accepting Command Line Arguments](ch12-01-accepting-command-line-arguments.md)
62 - [Reading a File](ch12-02-reading-a-file.md)
041b39d2 63 - [Refactoring to Improve Modularity and Error Handling](ch12-03-improving-error-handling-and-modularity.md)
3b2f2976 64 - [Developing the Library’s Functionality with Test Driven Development](ch12-04-testing-the-librarys-functionality.md)
cc61c64b 65 - [Working with Environment Variables](ch12-05-working-with-environment-variables.md)
3b2f2976 66 - [Writing Error Messages to Standard Error Instead of Standard Output](ch12-06-writing-to-stderr-instead-of-stdout.md)
cc61c64b
XL
67
68## Thinking in Rust
69
70- [Functional Language Features in Rust](ch13-00-functional-features.md)
71 - [Closures](ch13-01-closures.md)
72 - [Iterators](ch13-02-iterators.md)
73 - [Improving our I/O Project](ch13-03-improving-our-io-project.md)
74 - [Performance](ch13-04-performance.md)
75
76- [More about Cargo and Crates.io](ch14-00-more-about-cargo.md)
3b2f2976 77 - [Customizing Builds with Release Profiles](ch14-01-release-profiles.md)
cc61c64b
XL
78 - [Publishing a Crate to Crates.io](ch14-02-publishing-to-crates-io.md)
79 - [Cargo Workspaces](ch14-03-cargo-workspaces.md)
80 - [Installing Binaries from Crates.io with `cargo install`](ch14-04-installing-binaries.md)
81 - [Extending Cargo with Custom Commands](ch14-05-extending-cargo.md)
82
83- [Smart Pointers](ch15-00-smart-pointers.md)
84 - [`Box<T>` Points to Data on the Heap and Has a Known Size](ch15-01-box.md)
85 - [The `Deref` Trait Allows Access to the Data Through a Reference](ch15-02-deref.md)
86 - [The `Drop` Trait Runs Code on Cleanup](ch15-03-drop.md)
87 - [`Rc<T>`, the Reference Counted Smart Pointer](ch15-04-rc.md)
88 - [`RefCell<T>` and the Interior Mutability Pattern](ch15-05-interior-mutability.md)
89 - [Creating Reference Cycles and Leaking Memory is Safe](ch15-06-reference-cycles.md)
90
91- [Fearless Concurrency](ch16-00-concurrency.md)
92 - [Threads](ch16-01-threads.md)
93 - [Message Passing](ch16-02-message-passing.md)
94 - [Shared State](ch16-03-shared-state.md)
95 - [Extensible Concurrency: `Sync` and `Send`](ch16-04-extensible-concurrency-sync-and-send.md)
96
97- [Is Rust an Object-Oriented Programming Language?](ch17-00-oop.md)
98 - [What Does Object-Oriented Mean?](ch17-01-what-is-oo.md)
99 - [Trait Objects for Using Values of Different Types](ch17-02-trait-objects.md)
100 - [Object-Oriented Design Pattern Implementations](ch17-03-oo-design-patterns.md)
101
102## Advanced Topics
103
104- [Patterns Match the Structure of Values](ch18-00-patterns.md)
105 - [All the Places Patterns May be Used](ch18-01-all-the-places-for-patterns.md)
106 - [Refutability: Whether a Pattern Might Fail to Match](ch18-02-refutability.md)
107 - [All the Pattern Syntax](ch18-03-pattern-syntax.md)
108
109- [Advanced Features](ch19-00-advanced-features.md)
110 - [Unsafe Rust](ch19-01-unsafe-rust.md)
111 - [Advanced Lifetimes](ch19-02-advanced-lifetimes.md)
112 - [Advanced Traits](ch19-03-advanced-traits.md)
113 - [Advanced Types](ch19-04-advanced-types.md)
114 - [Advanced Functions & Closures](ch19-05-advanced-functions-and-closures.md)
115
7cac9316
XL
116- [Final Project: Building a Multithreaded Web Server](ch20-00-final-project-a-web-server.md)
117 - [A Single Threaded Web Server](ch20-01-single-threaded.md)
118 - [How Slow Requests Affect Throughput](ch20-02-slow-requests.md)
119 - [Designing the Thread Pool Interface](ch20-03-designing-the-interface.md)
120 - [Creating the Thread Pool and Storing Threads](ch20-04-storing-threads.md)
121 - [Sending Requests to Threads Via Channels](ch20-05-sending-requests-via-channels.md)
122 - [Graceful Shutdown and Cleanup](ch20-06-graceful-shutdown-and-cleanup.md)
cc61c64b
XL
123
124- [Appendix](appendix-00.md)
125 - [A - Keywords](appendix-01-keywords.md)
126 - [B - Operators](appendix-02-operators.md)
127 - [C - Derivable Traits]()
abe05a73
XL
128 - [D - Macros]()
129 - [E - Translations]()
130 - [F - Newest Features](appendix-07-newest-features.md)