Skip to content

Commit 302a115

Browse files
authored
Merge pull request #232 from nikomatsakis/minimize
Minimize the edition guide
2 parents 1da3c41 + 8b6d2d1 commit 302a115

File tree

104 files changed

+559
-3900
lines changed

Some content is hidden

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

104 files changed

+559
-3900
lines changed

.github/workflows/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
- name: Install mdbook
1818
run: |
1919
mkdir bin
20-
curl -sSL https://github.com/rust-lang/mdBook/releases/download/v0.3.5/mdbook-v0.3.5-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=bin
20+
curl -sSL https://github.com/rust-lang/mdBook/releases/download/v0.4.7/mdbook-v0.4.7-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=bin
2121
echo "$(pwd)/bin" >> $GITHUB_PATH
2222
- name: Report versions
2323
run: |

book.toml

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,91 @@ title = "The Edition Guide"
66

77
[output.html]
88
git-repository-url = "https://github.com/rust-lang/edition-guide"
9+
10+
[output.html.redirect]
11+
"/rust-2018/edition-changes.html" = "index.html"
12+
"/rust-2018/module-system/index.html" = "../path-changes.html"
13+
"/rust-2018/module-system/raw-identifiers.html" = "../../../rust-by-example/compatibility/raw_identifiers.html"
14+
"/rust-2018/module-system/path-clarity.html" = "../path-changes.html"
15+
"/rust-2018/module-system/more-visibility-modifiers.html" = "../../../reference/visibility-and-privacy.html"
16+
"/rust-2018/module-system/nested-imports-with-use.html" = "../../../rust-by-example/mod/use.html"
17+
"/rust-2018/error-handling-and-panics/index.html" = "../../../book/ch09-00-error-handling.html"
18+
"/rust-2018/error-handling-and-panics/the-question-mark-operator-for-easier-error-handling.html" = "../../../book/ch09-02-recoverable-errors-with-result.html"
19+
"/rust-2018/error-handling-and-panics/question-mark-in-main-and-tests.html" = "../../../rust-by-example/error/result.html#using-result-in-main"
20+
"/rust-2018/error-handling-and-panics/controlling-panics-with-std-panic.html" = "https://blog.rust-lang.org/2016/05/26/Rust-1.9.html#controlled-unwinding"
21+
"/rust-2018/error-handling-and-panics/aborting-on-panic.html" = "../../../book/ch09-01-unrecoverable-errors-with-panic.html"
22+
"/rust-2018/control-flow/index.html" = "../../../rust-by-example/flow_control.html"
23+
"/rust-2018/control-flow/loops-can-break-with-a-value.html" = "../../../rust-by-example/flow_control/loop/return.html"
24+
"/rust-2018/control-flow/async-await-for-easier-concurrency.html" = "https://rust-lang.github.io/async-book/"
25+
"/rust-2018/trait-system/index.html" = "../index.html"
26+
"/rust-2018/trait-system/impl-trait-for-returning-complex-types-with-ease.html" = "https://blog.rust-lang.org/2018/05/10/Rust-1.26.html#impl-trait"
27+
"/rust-2018/trait-system/dyn-trait-for-trait-objects.html" = "https://blog.rust-lang.org/2018/06/21/Rust-1.27.html#dyn-trait"
28+
"/rust-2018/trait-system/more-container-types-support-trait-objects.html" = "https://github.com/rust-lang/rfcs/blob/master/text/0982-dst-coercion.md"
29+
"/rust-2018/trait-system/associated-constants.html" = "../../../reference/items/associated-items.html#associated-constants"
30+
"/rust-2018/trait-system/no-anon-params.html" = "../trait-fn-parameters.html"
31+
"/rust-2018/slice-patterns.html" = "https://blog.rust-lang.org/2018/05/10/Rust-1.26.html#basic-slice-patterns"
32+
"/rust-2018/ownership-and-lifetimes/index.html" = "../../../book/ch04-00-understanding-ownership.html"
33+
"/rust-2018/ownership-and-lifetimes/non-lexical-lifetimes.html" = "https://blog.rust-lang.org/2018/12/06/Rust-1.31-and-rust-2018.html#non-lexical-lifetimes"
34+
"/rust-2018/ownership-and-lifetimes/default-match-bindings.html" = "https://blog.rust-lang.org/2018/05/10/Rust-1.26.html#nicer-match-bindings"
35+
"/rust-2018/ownership-and-lifetimes/the-anonymous-lifetime.html" = "https://blog.rust-lang.org/2018/12/06/Rust-1.31-and-rust-2018.html#more-lifetime-elision-rules"
36+
"/rust-2018/ownership-and-lifetimes/lifetime-elision-in-impl.html" = "https://blog.rust-lang.org/2018/12/06/Rust-1.31-and-rust-2018.html#more-lifetime-elision-rules"
37+
"/rust-2018/ownership-and-lifetimes/inference-in-structs.html" = "https://github.com/rust-lang/rfcs/blob/master/text/2093-infer-outlives.md"
38+
"/rust-2018/ownership-and-lifetimes/simpler-lifetimes-in-static-and-const.html" = "../../../reference/lifetime-elision.html#static-lifetime-elision"
39+
"/rust-2018/data-types/index.html" = "../index.html"
40+
"/rust-2018/data-types/field-init-shorthand.html" = "../../../reference/expressions/struct-expr.html#struct-field-init-shorthand"
41+
"/rust-2018/data-types/inclusive-ranges.html" = "https://blog.rust-lang.org/2018/05/10/Rust-1.26.html#inclusive-ranges-with-"
42+
"/rust-2018/data-types/128-bit-integers.html" = "https://blog.rust-lang.org/2018/05/10/Rust-1.26.html#128-bit-integers"
43+
"/rust-2018/data-types/operator-equals-are-now-implementable.html" = "../../../std/ops/index.html"
44+
"/rust-2018/data-types/union-for-an-unsafe-form-of-enum.html" = "../../../reference/items/unions.html"
45+
"/rust-2018/data-types/choosing-alignment-with-the-repr-attribute.html" = "../../../reference/type-layout.html#representations"
46+
"/rust-2018/simd-for-faster-computing.html" = "https://blog.rust-lang.org/2018/06/21/Rust-1.27.html#simd"
47+
"/rust-2018/macros/index.html" = "../../../book/ch19-06-macros.html"
48+
"/rust-2018/macros/custom-derive.html" = "../../../book/ch19-06-macros.html#how-to-write-a-custom-derive-macro"
49+
"/rust-2018/macros/macro-changes.html" = "../../../book/ch19-06-macros.html"
50+
"/rust-2018/macros/at-most-once.html" = "../../../reference/macros-by-example.html#repetitions"
51+
"/rust-2018/the-compiler/index.html" = "../index.html"
52+
"/rust-2018/the-compiler/improved-error-messages.html" = "https://blog.rust-lang.org/2016/09/29/Rust-1.12.html#overhauled-error-messages"
53+
"/rust-2018/the-compiler/incremental-compilation-for-faster-compiles.html" = "https://blog.rust-lang.org/2018/02/15/Rust-1.24.html#incremental-compilation"
54+
"/rust-2018/the-compiler/an-attribute-for-deprecation.html" = "../../../reference/attributes/diagnostics.html#the-deprecated-attribute"
55+
"/rust-2018/rustup-for-managing-rust-versions.html" = "https://rust-lang.github.io/rustup/"
56+
"/rust-2018/cargo-and-crates-io/index.html" = "../../../cargo/index.html"
57+
"/rust-2018/cargo-and-crates-io/cargo-check-for-faster-checking.html" = "../../../cargo/commands/cargo-check.html"
58+
"/rust-2018/cargo-and-crates-io/cargo-install-for-easy-installation-of-tools.html" = "../../../cargo/commands/cargo-install.html"
59+
"/rust-2018/cargo-and-crates-io/cargo-new-defaults-to-a-binary-project.html" = "https://blog.rust-lang.org/2018/03/29/Rust-1.25.html#cargo-features"
60+
"/rust-2018/cargo-and-crates-io/cargo-rustc-for-passing-arbitrary-flags-to-rustc.html" = "../../../cargo/commands/cargo-rustc.html"
61+
"/rust-2018/cargo-and-crates-io/cargo-workspaces-for-multi-package-projects.html" = "../../../cargo/reference/workspaces.html"
62+
"/rust-2018/cargo-and-crates-io/multi-file-examples.html" = "../../../cargo/guide/project-layout.html"
63+
"/rust-2018/cargo-and-crates-io/replacing-dependencies-with-patch.html" = "../../../cargo/reference/overriding-dependencies.html#the-patch-section"
64+
"/rust-2018/cargo-and-crates-io/cargo-can-use-a-local-registry-replacement.html" = "../../../cargo/reference/source-replacement.html"
65+
"/rust-2018/cargo-and-crates-io/crates-io-disallows-wildcard-dependencies.html" = "https://blog.rust-lang.org/2016/01/21/Rust-1.6.html#cratesio-disallows-wildcards"
66+
"/rust-2018/documentation/index.html" = "../../../index.html"
67+
"/rust-2018/documentation/new-editions-of-the-book.html" = "../../../book/index.html"
68+
"/rust-2018/documentation/the-rust-bookshelf.html" = "../../../index.html"
69+
"/rust-2018/documentation/the-rustonomicon.html" = "../../../nomicon/index.html"
70+
"/rust-2018/documentation/std-os-has-documentation-for-all-platforms.html" = "../../../std/os/index.html"
71+
"/rust-2018/rustdoc/index.html" = "../../../rustdoc/index.html"
72+
"/rust-2018/rustdoc/documentation-tests-can-now-compile-fail.html" = "../../../rustdoc/documentation-tests.html#attributes"
73+
"/rust-2018/rustdoc/rustdoc-uses-commonmark.html" = "../../../rustdoc/how-to-write-documentation.html#markdown"
74+
"/rust-2018/platform-and-target-support/index.html" = "../../../rustc/targets/index.html"
75+
"/rust-2018/platform-and-target-support/libcore-for-low-level-rust.html" = "../../../core/index.html"
76+
"/rust-2018/platform-and-target-support/webassembly-support.html" = "https://rustwasm.github.io/docs/book/"
77+
"/rust-2018/platform-and-target-support/global-allocators.html" = "https://blog.rust-lang.org/2018/08/02/Rust-1.28.html#global-allocators"
78+
"/rust-2018/platform-and-target-support/msvc-toolchain-support.html" = "../../../rustc/platform-support.html"
79+
"/rust-2018/platform-and-target-support/musl-support-for-fully-static-binaries.html" = "../../../rustc/platform-support.html"
80+
"/rust-2018/platform-and-target-support/cdylib-crates-for-c-interoperability.html" = "https://github.com/rust-lang/rfcs/blob/master/text/1510-cdylib.md"
81+
"/rust-next/index.html" = "../rust-2021/index.html"
82+
"/rust-next/edition-changes.html" = "../rust-2021/index.html"
83+
"/rust-next/dbg-macro.html" = "../../std/macro.dbg.html"
84+
"/rust-next/no-jemalloc.html" = "https://blog.rust-lang.org/2019/01/17/Rust-1.32.0.html#jemalloc-is-removed-by-default"
85+
"/rust-next/uniform-paths.html" = "https://blog.rust-lang.org/2019/01/17/Rust-1.32.0.html#final-module-improvements"
86+
"/rust-next/literal-macro-matcher.html" = "https://blog.rust-lang.org/2019/01/17/Rust-1.32.0.html#macro-improvements"
87+
"/rust-next/qustion-mark-operator-in-macros.html" = "https://blog.rust-lang.org/2019/01/17/Rust-1.32.0.html#macro-improvements"
88+
"/rust-next/const-fn.html" = "../../reference/const_eval.html"
89+
"/rust-next/pin.html" = "../../std/pin/index.html"
90+
"/rust-next/no-more-fnbox.html" = "https://blog.rust-lang.org/2019/05/23/Rust-1.35.0.html#fn-closure-traits-implemented-for-boxdyn-fn"
91+
"/rust-next/alternative-cargo-registries.html" = "https://blog.rust-lang.org/2019/04/11/Rust-1.34.0.html#alternative-cargo-registries"
92+
"/rust-next/tryfrom-and-tryinto.html" = "https://blog.rust-lang.org/2019/04/11/Rust-1.34.0.html#tryfrom-and-tryinto"
93+
"/rust-next/future.html" = "../../std/future/trait.Future.html"
94+
"/rust-next/alloc.html" = "https://blog.rust-lang.org/2019/07/04/Rust-1.36.0.html#the-alloc-crate-is-stable"
95+
"/rust-next/maybe-uninit.html" = "https://blog.rust-lang.org/2019/07/04/Rust-1.36.0.html#maybeuninitt-instead-of-memuninitialized"
96+
"/rust-next/cargo-vendor.html" = "../../cargo/commands/cargo-vendor.html"

src/SUMMARY.md

Lines changed: 17 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -15,92 +15,20 @@
1515
## Rust 2018
1616

1717
- [Rust 2018](rust-2018/index.md)
18-
- [2018-Specific Changes](rust-2018/edition-changes.md)
19-
- [Module system](rust-2018/module-system/index.md)
20-
- [Raw identifiers](rust-2018/module-system/raw-identifiers.md)
21-
- [Path clarity](rust-2018/module-system/path-clarity.md)
22-
- [More visibility modifiers](rust-2018/module-system/more-visibility-modifiers.md)
23-
- [Nested imports with `use`](rust-2018/module-system/nested-imports-with-use.md)
24-
- [Error handling and panics](rust-2018/error-handling-and-panics/index.md)
25-
- [The `?` operator for easier error handling](rust-2018/error-handling-and-panics/the-question-mark-operator-for-easier-error-handling.md)
26-
- [`?` in `main` and tests](rust-2018/error-handling-and-panics/question-mark-in-main-and-tests.md)
27-
- [Controlling panics with `std::panic`](rust-2018/error-handling-and-panics/controlling-panics-with-std-panic.md)
28-
- [Aborting on panic](rust-2018/error-handling-and-panics/aborting-on-panic.md)
29-
- [Control flow](rust-2018/control-flow/index.md)
30-
- [Loops can `break` with a value](rust-2018/control-flow/loops-can-break-with-a-value.md)
31-
- [`async`/`await` for easier concurrency](rust-2018/control-flow/async-await-for-easier-concurrency.md)
32-
- [Trait system](rust-2018/trait-system/index.md)
33-
- [`impl Trait` for returning complex types with ease](rust-2018/trait-system/impl-trait-for-returning-complex-types-with-ease.md)
34-
- [`dyn Trait` for trait objects](rust-2018/trait-system/dyn-trait-for-trait-objects.md)
35-
- [More container types support trait objects](rust-2018/trait-system/more-container-types-support-trait-objects.md)
36-
- [Associated constants](rust-2018/trait-system/associated-constants.md)
37-
- [No more anonymous parameters](rust-2018/trait-system/no-anon-params.md)
38-
- [Slice patterns](rust-2018/slice-patterns.md)
39-
- [Ownership and lifetimes](rust-2018/ownership-and-lifetimes/index.md)
40-
- [Non-lexical lifetimes](rust-2018/ownership-and-lifetimes/non-lexical-lifetimes.md)
41-
- [Default `match` bindings](rust-2018/ownership-and-lifetimes/default-match-bindings.md)
42-
- [`'_`, the anonymous lifetime](rust-2018/ownership-and-lifetimes/the-anonymous-lifetime.md)
43-
- [Lifetime elision in `impl`](rust-2018/ownership-and-lifetimes/lifetime-elision-in-impl.md)
44-
- [`T: 'a` inference in structs](rust-2018/ownership-and-lifetimes/inference-in-structs.md)
45-
- [Simpler lifetimes in `static` and `const`](rust-2018/ownership-and-lifetimes/simpler-lifetimes-in-static-and-const.md)
46-
- [Data types](rust-2018/data-types/index.md)
47-
- [Field init shorthand](rust-2018/data-types/field-init-shorthand.md)
48-
- [`..=` for inclusive ranges](rust-2018/data-types/inclusive-ranges.md)
49-
- [128 bit integers](rust-2018/data-types/128-bit-integers.md)
50-
- ["Operator-equals" are now implementable](rust-2018/data-types/operator-equals-are-now-implementable.md)
51-
- [`union` for an unsafe form of `enum`](rust-2018/data-types/union-for-an-unsafe-form-of-enum.md)
52-
- [Choosing alignment with the `repr` attribute](rust-2018/data-types/choosing-alignment-with-the-repr-attribute.md)
53-
- [SIMD for faster computing](rust-2018/simd-for-faster-computing.md)
54-
- [Macros](rust-2018/macros/index.md)
55-
- [Custom Derive](rust-2018/macros/custom-derive.md)
56-
- [Macro changes](rust-2018/macros/macro-changes.md)
57-
- [At most one repetition](rust-2018/macros/at-most-once.md)
58-
- [The compiler](rust-2018/the-compiler/index.md)
59-
- [Improved error messages](rust-2018/the-compiler/improved-error-messages.md)
60-
- [Incremental Compilation for faster compiles](rust-2018/the-compiler/incremental-compilation-for-faster-compiles.md)
61-
- [An attribute for deprecation](rust-2018/the-compiler/an-attribute-for-deprecation.md)
62-
- [Rustup for managing Rust versions](rust-2018/rustup-for-managing-rust-versions.md)
63-
- [Cargo and crates.io](rust-2018/cargo-and-crates-io/index.md)
64-
- [`cargo check` for faster checking](rust-2018/cargo-and-crates-io/cargo-check-for-faster-checking.md)
65-
- [`cargo install` for easy installation of tools](rust-2018/cargo-and-crates-io/cargo-install-for-easy-installation-of-tools.md)
66-
- [`cargo new` defaults to a binary project](rust-2018/cargo-and-crates-io/cargo-new-defaults-to-a-binary-project.md)
67-
- [`cargo rustc` for passing arbitrary flags to `rustc`](rust-2018/cargo-and-crates-io/cargo-rustc-for-passing-arbitrary-flags-to-rustc.md)
68-
- [Cargo workspaces for multi-package projects](rust-2018/cargo-and-crates-io/cargo-workspaces-for-multi-package-projects.md)
69-
- [Multi-file `examples`](rust-2018/cargo-and-crates-io/multi-file-examples.md)
70-
- [Replacing dependencies with `patch`](rust-2018/cargo-and-crates-io/replacing-dependencies-with-patch.md)
71-
- [Cargo can use a local registry replacement](rust-2018/cargo-and-crates-io/cargo-can-use-a-local-registry-replacement.md)
72-
- [Crates.io disallows wildcard dependencies](rust-2018/cargo-and-crates-io/crates-io-disallows-wildcard-dependencies.md)
73-
- [Documentation](rust-2018/documentation/index.md)
74-
- [New editions of the "the book"](rust-2018/documentation/new-editions-of-the-book.md)
75-
- [The Rust Bookshelf](rust-2018/documentation/the-rust-bookshelf.md)
76-
- [The Rustonomicon](rust-2018/documentation/the-rustonomicon.md)
77-
- [Full documentation for `std::os`](rust-2018/documentation/std-os-has-documentation-for-all-platforms.md)
78-
- [`rustdoc`](rust-2018/rustdoc/index.md)
79-
- [Documentation tests can now `compile-fail`](rust-2018/rustdoc/documentation-tests-can-now-compile-fail.md)
80-
- [Rustdoc uses CommonMark](rust-2018/rustdoc/rustdoc-uses-commonmark.md)
81-
- [Platform and target support](rust-2018/platform-and-target-support/index.md)
82-
- [`libcore` for low-level Rust](rust-2018/platform-and-target-support/libcore-for-low-level-rust.md)
83-
- [WebAssembly support](rust-2018/platform-and-target-support/webassembly-support.md)
84-
- [Global allocators](rust-2018/platform-and-target-support/global-allocators.md)
85-
- [MSVC toolchain support](rust-2018/platform-and-target-support/msvc-toolchain-support.md)
86-
- [MUSL support for fully static binaries](rust-2018/platform-and-target-support/musl-support-for-fully-static-binaries.md)
87-
- [`cdylib` crates for C interoperability](rust-2018/platform-and-target-support/cdylib-crates-for-c-interoperability.md)
88-
89-
## The Next Edition
90-
91-
- [The Next Edition](rust-next/index.md)
92-
- [Next-Specific Changes](rust-next/edition-changes.md)
93-
- [The dbg! macro](rust-next/dbg-macro.md)
94-
- [No jemalloc by default](rust-next/no-jemalloc.md)
95-
- [Uniform Paths](rust-next/uniform-paths.md)
96-
- [`literal` macro matcher](rust-next/literal-macro-matcher.md)
97-
- [`?` operator in macros](rust-next/qustion-mark-operator-in-macros.md)
98-
- [const fn](rust-next/const-fn.md)
99-
- [Pinning](rust-next/pin.md)
100-
- [No more FnBox](rust-next/no-more-fnbox.md)
101-
- [Alternative Cargo Registries](rust-next/alternative-cargo-registries.md)
102-
- [TryFrom and TryInto](rust-next/tryfrom-and-tryinto.md)
103-
- [The Future trait](rust-next/future.md)
104-
- [The alloc crate](rust-next/alloc.md)
105-
- [MaybeUninit<T>](rust-next/maybe-uninit.md)
106-
- [cargo vendor](rust-next/cargo-vendor.md)
18+
- [Path and module system changes](rust-2018/path-changes.md)
19+
- [Anonymous trait function parameters deprecated](rust-2018/trait-fn-parameters.md)
20+
- [New keywords](rust-2018/new-keywords.md)
21+
- [Method dispatch for raw pointers to inference variables](rust-2018/tyvar-behind-raw-pointer.md)
22+
- [Cargo changes](rust-2018/cargo.md)
23+
24+
## Rust 2021
25+
26+
- [Rust 2021 🚧](rust-2021/index.md)
27+
- [Additions to the prelude](rust-2021/prelude.md)
28+
- [Default Cargo feature resolver](rust-2021/default-cargo-resolver.md)
29+
- [IntoIterator for arrays](rust-2021/IntoIterator-for-arrays.md)
30+
- [Disjoint capture in closures](rust-2021/disjoint-capture-in-closures.md)
31+
- [Panic macro consistency](rust-2021/panic-macro-consistency.md)
32+
- [Reserving syntax](rust-2021/reserving-syntax.md)
33+
- [Warnings promoted to errors](rust-2021/warnings-promoted-to-error.md)
34+
- [Or patterns in macro-rules](rust-2021/or-patterns-macro-rules.md)

0 commit comments

Comments
 (0)