Skip to content

Commit 12e9d7c

Browse files
committed
Rollup merge of rust-lang#24178 - steveklabnik:new_toc, r=nikomatsakis
Basically, the overall structure is this: * Getting Started - getting an environment up and running * Learn Rust - project-based learning the basics * Effective Rust - higher level concepts that lead to writing good rust * Syntax and Semantics - chunks of exactly what it sounds like * Nightly Rust - unstable stuff, a staging area for documenting features * Glossary - self-explanatory There's a number of weaknesses with the current TOC, but I'll just focus on the strengths of the new one: We start off with getting our environment set up. That's "getting started". Then, we basically present you with two choices: do you want to start small, with bits of syntax? Or do you want to dive in with projects? I'm guessing more people will choose the second, so that's the next part: "Learn Rust." I don't have any chapters here, but this would have an updated guessing game, a tutorial on building a little `wc` clone, and something else I haven't decided yet. Lots of options. But the idea is to just dive in and get your hands dirty. I'll heavily link to the 'syntax and semantics' sections that are relevant. Then, a section I'm calling 'Effective Rust'. it feels greedy to steal that title, so I'm hoping to give it another name. These are higher-level things than syntax that Rust programmers should know: error handling is a great example. Most of these are sort of 'how do I use the standard library together' kinds of things. This also contains informations about systems programming that those new to it might not know: the stack vs the heap, for example. Then, "Syntax and Semantics." This has one section for each bit of Rust. Small, focused, but explains _everything_. These are positioned to be almost entirely in-order, but heavily cross-link, so you can go out of order if you want to, but you can also use it as a reference. Next, "Nightly Rust," where documenting unstable things goes. If we want to get good feedback on new features, they'll need to be documented, but we don't want to taint the main docs, so that's what this is for. Finally, the glossary. Straightforward enough. -------------------------------- This is going to be a terrible PR to review, so I just did the TOC re-organization, with basically no editing. So it'll be a bit jumbled at first. But next steps are to go through and edit / revise / tweak / add stuff to get it in tip-top shape for 1.0!
2 parents 91798a8 + 0027253 commit 12e9d7c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+845
-1942
lines changed

src/doc/trpl/SUMMARY.md

+48-27
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,69 @@
11
# Summary
22

3-
* [The Basics](basic.md)
3+
* [Getting Started](getting-started.md)
44
* [Installing Rust](installing-rust.md)
55
* [Hello, world!](hello-world.md)
66
* [Hello, Cargo!](hello-cargo.md)
7+
* [Learn Rust](learn-rust.md)
8+
* [Effective Rust](effective-rust.md)
9+
* [The Stack and the Heap](the-stack-and-the-heap.md)
10+
* [`Debug` and `Display`](debug-and-display.md)
11+
* [Testing](testing.md)
12+
* [Documentation](documentation.md)
13+
* [Iterators](iterators.md)
14+
* [Concurrency](concurrency.md)
15+
* [Error Handling](error-handling.md)
16+
* [FFI](ffi.md)
17+
* [`Deref` coercions](deref-coercions.md)
18+
* [Syntax and Semantics](syntax-and-semantics.md)
719
* [Variable Bindings](variable-bindings.md)
8-
* [If](if.md)
20+
* [Primitive Types](primitive-types.md)
921
* [Functions](functions.md)
1022
* [Comments](comments.md)
11-
* [Compound Data Types](compound-data-types.md)
23+
* [Structs](structs.md)
24+
* [Mutability](mutability.md)
25+
* [Method Syntax](method-syntax.md)
26+
* [Enums](enums.md)
27+
* [`if`](if.md)
1228
* [Match](match.md)
13-
* [Looping](looping.md)
29+
* [Patterns](patterns.md)
30+
* [`for` loops](for-loops.md)
31+
* [`while` loops](while-loops.md)
32+
* [Ownership](ownership.md)
33+
* [References and Borrowing](references-and-borrowing.md)
34+
* [Lifetimes](lifetimes.md)
35+
* [Move semantics](move-semantics.md)
36+
* [Drop](drop.md)
37+
* [Vectors](vectors.md)
38+
* [Arrays](arrays.md)
39+
* [Slices](slices.md)
1440
* [Strings](strings.md)
15-
* [Arrays, Vectors, and Slices](arrays-vectors-and-slices.md)
16-
* [Intermediate Rust](intermediate.md)
41+
* [Traits](traits.md)
42+
* [Operators and Overloading](operators-and-overloading.md)
43+
* [Generics](generics.md)
44+
* [Trait Objects](trait-objects.md)
45+
* [Closures](closures.md)
46+
* [Universal Function Call Syntax](ufcs.md)
1747
* [Crates and Modules](crates-and-modules.md)
18-
* [Testing](testing.md)
19-
* [Pointers](pointers.md)
20-
* [Ownership](ownership.md)
21-
* [More Strings](more-strings.md)
22-
* [Patterns](patterns.md)
23-
* [Method Syntax](method-syntax.md)
48+
* [`static`](static.md)
49+
* [`const`](const.md)
50+
* [Tuples](tuples.md)
51+
* [Tuple Structs](tuple-structs.md)
52+
* [Attributes](attributes.md)
53+
* [Conditional Compilation](conditional-compilation.md)
54+
* [`type` aliases](type-aliases.md)
55+
* [Casting between types](casting-between-types.md)
2456
* [Associated Types](associated-types.md)
25-
* [Closures](closures.md)
26-
* [Iterators](iterators.md)
27-
* [Generics](generics.md)
28-
* [Traits](traits.md)
29-
* [Static and Dynamic Dispatch](static-and-dynamic-dispatch.md)
57+
* [Unsized Types](unsized-types.md)
3058
* [Macros](macros.md)
31-
* [Concurrency](concurrency.md)
32-
* [Error Handling](error-handling.md)
33-
* [Documentation](documentation.md)
34-
* [Advanced Topics](advanced.md)
35-
* [FFI](ffi.md)
36-
* [Unsafe Code](unsafe.md)
37-
* [Advanced Macros](advanced-macros.md)
38-
* [Unstable Rust](unstable.md)
39-
* [Compiler Plugins](plugins.md)
59+
* [`unsafe` Code](unsafe-code.md)
60+
* [Nightly Rust](nightly-rust.md)
61+
* [Compiler Plugins](compiler-plugins.md)
4062
* [Inline Assembly](inline-assembly.md)
4163
* [No stdlib](no-stdlib.md)
4264
* [Intrinsics](intrinsics.md)
4365
* [Lang items](lang-items.md)
4466
* [Link args](link-args.md)
4567
* [Benchmark Tests](benchmark-tests.md)
4668
* [Box Syntax and Patterns](box-syntax-and-patterns.md)
47-
* [Conclusion](conclusion.md)
4869
* [Glossary](glossary.md)

src/doc/trpl/advanced-macros.md

-242
This file was deleted.

src/doc/trpl/advanced.md

-8
This file was deleted.

0 commit comments

Comments
 (0)