-
Notifications
You must be signed in to change notification settings - Fork 134
Backfill contents since 1.0 #75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
1a90605
56a19bc
92900b0
a38104b
feb51f6
1034c77
737544f
f1ce7be
ecbc680
3314372
89a085a
cc212a5
06911fb
0180bf7
a02d094
5a80f73
1879957
526fb29
201bdaa
0d2551c
1e8531f
757c6da
a3d858f
deb5b21
0f8214b
89c03e5
73648f1
76f29e1
b22406c
e7dd330
c2a6f85
9c1f326
cc19f79
142e8f8
daa9ccc
93f196b
d322813
fcc1b17
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,71 @@ | ||
# Summary | ||
# The Edition Guide | ||
|
||
[Introduction](introduction.md) | ||
|
||
- [What are Editions?](editions/index.md) | ||
- [Transitioning your code to a new edition](editions/transitioning.md) | ||
|
||
- [Rust 2015](2015/index.md) | ||
|
||
- [Rust 2018](2018/index.md) | ||
- [Feature status](2018/status.md) | ||
- [Transitioning to Rust 2018](2018/transitioning/to-rust-2018.md) | ||
- [Trait system](2018/transitioning/traits/index.md) | ||
- [`dyn Trait`](2018/transitioning/traits/dyn-trait.md) | ||
- [`impl Trait`](2018/transitioning/traits/impl-trait.md) | ||
- [Module system](2018/transitioning/modules/index.md) | ||
- [Path clarity](2018/transitioning/modules/path-clarity.md) | ||
- [Macro changes](2018/transitioning/modules/macros.md) | ||
- [Concurrency additions](2018/transitioning/concurrency/index.md) | ||
- [`async`/`await`](2018/transitioning/concurrency/async-await.md) | ||
- [Ownership and lifetimes](2018/transitioning/ownership-and-lifetimes/index.md) | ||
- [`'_`, the anonymous lifetime](2018/transitioning/ownership-and-lifetimes/anonymous-lifetime.md) | ||
- [In-band lifetimes](2018/transitioning/ownership-and-lifetimes/in-band-lifetimes.md) | ||
- [Default match bindings](2018/transitioning/ownership-and-lifetimes/default-match-bindings.md) | ||
- [Lifetime elision in `impl`](2018/transitioning/ownership-and-lifetimes/lifetime-elision-in-impl.md) | ||
- [`T: 'a` inference in structs](2018/transitioning/ownership-and-lifetimes/struct-inference.md) | ||
- [Slice patterns](2018/transitioning/slice-patterns.md) | ||
- [Error Handling](2018/transitioning/errors/index.md) | ||
- [`?` in `fn main()` and `#[test]`s](2018/transitioning/errors/question-mark.md) | ||
- [Raw identifiers](2018/transitioning/raw-identifiers.md) | ||
## What are editions? | ||
|
||
- [What are editions?](editions/index.md) | ||
- [Transitioning your code to a new edition](editions/transitioning-your-code-to-a-new-edition.md) | ||
|
||
## Rust 2015 | ||
|
||
- [Rust 2015](rust-2015/index.md) | ||
|
||
## Rust 2018 | ||
|
||
- [Rust 2018](rust-2018/index.md) | ||
- [MUSL support for fully static binaries](rust-2018/musl-support-for-fully-static-binaries.md) | ||
- [`cargo rustc` for passing arbitrary flags to `rustc`](rust-2018/cargo-rustc-for-passing-arbitrary-flags-to-rustc.md) | ||
- [MSVC toolchain support](rust-2018/msvc-toolchain-support.md) | ||
- [Better support for trait objects](rust-2018/better-support-for-trait-objects.md) | ||
- [The Rustonomicon](rust-2018/the-rustonomicon.md) | ||
- [`cargo install` for easy installation of tools](rust-2018/cargo-install-for-easy-installation-of-tools.md) | ||
- [`libcore` for low-level Rust](rust-2018/libcore-for-low-level-rust.md) | ||
- [Crates.io disallows wildcard dependencies](rust-2018/crates-io-disallows-wildcard-dependencies.md) | ||
- ["Operator-equals" are now implementable](rust-2018/operator-equals-are-now-implementable.md) | ||
- [Controlling panics with `std::panic`](rust-2018/controlling-panics-with-std-panic.md) | ||
- [An attribute for deprecation](rust-2018/an-attribute-for-deprecation.md) | ||
- [Aborting on panic](rust-2018/aborting-on-panic.md) | ||
- [`cdylib` crates for C interoperability](rust-2018/cdylib-crates-for-c-interoperability.md) | ||
- [Improved error messages](rust-2018/improved-error-messages.md) | ||
- [Cargo workspaces for multi-package projects](rust-2018/cargo-workspaces-for-multi-package-projects.md) | ||
- [Cargo can use a local registry replacement](rust-2018/cargo-can-use-a-local-registry-replacement.md) | ||
- [The question mark operator for easier error handling](rust-2018/the-question-mark-operator-for-easier-error-handling.md) | ||
- [Rustup for managing Rust versions](rust-2018/rustup-for-managing-rust-versions.md) | ||
- [WebAssembly support](rust-2018/webassembly-support.md) | ||
- [Custom Derive](rust-2018/custom-derive.md) | ||
- [`cargo check` for faster checking](rust-2018/cargo-check-for-faster-checking.md) | ||
- [Simpler lifetimes in `static` and `const`](rust-2018/simpler-lifetimes-in-static-and-const.md) | ||
- [Field init shorthand](rust-2018/field-init-shorthand.md) | ||
- [New editions of the "the book"](rust-2018/new-editions-of-the-book.md) | ||
- [`pub` learns some new tricks](rust-2018/pub-learns-some-new-tricks.md) | ||
- [`union` for an unsafe form of `enum`](rust-2018/union-for-an-unsafe-form-of-enum.md) | ||
- [Loops can `break` with a value](rust-2018/loops-can-break-with-a-value.md) | ||
- [Associated constants](rust-2018/associated-constants.md) | ||
- [`std::os` has documentation for all platforms](rust-2018/std-os-has-documentation-for-all-platforms.md) | ||
- [The Rust Bookshelf](rust-2018/the-rust-bookshelf.md) | ||
- [Replacing dependencies with `patch`](rust-2018/replacing-dependencies-with-patch.md) | ||
- [Documentation tests can now `compile-fail`](rust-2018/documentation-tests-can-now-compile-fail.md) | ||
- [Multi-file `examples`](rust-2018/multi-file-examples.md) | ||
- [Incremental Compilation for faster compiles](rust-2018/incremental-compilation-for-faster-compiles.md) | ||
- [Nested imports with `use`](rust-2018/nested-imports-with-use.md) | ||
- [Rustdoc uses CommonMark](rust-2018/rustdoc-uses-commonmark.md) | ||
- [Choosing alignment with the `repr` attribute](rust-2018/choosing-alignment-with-the-repr-attribute.md) | ||
- [`cargo new` defaults to a binary project](rust-2018/cargo-new-defaults-to-a-binary-project.md) | ||
- [`impl Trait` for returning complex types with ease](rust-2018/impl-trait-for-returning-complex-types-with-ease.md) | ||
- [Default `match` bindings](rust-2018/default-match-bindings.md) | ||
- [`..=` for inclusive ranges](rust-2018/inclusive-ranges.md) | ||
- [Slice patterns](rust-2018/slice-patterns.md) | ||
- [128 bit integers](rust-2018/128-bit-integers.md) | ||
- [SIMD for faster computing](rust-2018/simd-for-faster-computing.md) | ||
- [`dyn Trait` for trait objects](rust-2018/dyn-trait-for-trait-objects.md) | ||
- [Global allocators](rust-2018/global-allocators.md) | ||
- [Raw identifiers](rust-2018/raw-identifiers.md) | ||
- [`'_`, the anonymous lifetime](rust-2018/the-anonymous-lifetime.md) | ||
- [Lifetime elision in `impl`](rust-2018/lifetime-elision-in-impl.md) | ||
- [`T: 'a` inference in structs](rust-2018/inference-in-structs.md) | ||
- [Macro changes](rust-2018/macro-changes.md) | ||
- [Path clarity](rust-2018/path-clarity.md) | ||
- [`async`/`await` for easier concurrency](rust-2018/async-await-for-easier-concurrency.md) | ||
|
||
- [Unstable feature status](unstable-feature-status.md) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# 128 bit integers | ||
|
||
 | ||
|
||
A very simple feature: Rust now has 128 bit integers! | ||
|
||
```rust | ||
let x: i128 = 0; | ||
let y: u128 = 0; | ||
``` | ||
|
||
These are twice the size of `u64`, and so can hold more values. More specifically, | ||
|
||
* `u128`: `0` - `340,282,366,920,938,463,463,374,607,431,768,211,455` | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This kinda looks like an array; I'd use underscore instead as a separator. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. we used this text in the release blog post and people were not generally confused There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I suppose; however, |
||
* `i128`: `−170,141,183,460,469,231,731,687,303,715,884,105,728` - `170,141,183,460,469,231,731,687,303,715,884,105,727` | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Here too. |
||
|
||
Whew! |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# Aborting on panic | ||
|
||
 | ||
|
||
By default, Rust programs will unwind the stack when a `panic!` happens. If you'd prefer an | ||
immediate abort instead, you can configure this in `Cargo.toml`: | ||
|
||
```toml | ||
[profile.debug] | ||
panic = "abort" | ||
|
||
[profile.release] | ||
panic = "abort" | ||
``` | ||
|
||
Why might you choose to do this? By removing support for unwinding, you'll | ||
get smaller binaries. You will lose the ability to catch panics. Which choice | ||
is right for you depends on exactly what you're doing. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should probably organize this a bit into categories after this PR; The flat list is a bit chaotic.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I found the categories far more confusing, personally
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess it doesn't work well with ordering also... let's not do it for now then :)