rust/src/doc/book
Manish Goregaokar f262bb899c Rollup merge of #33747 - postmodern:patch-2, r=Manishearth
Clarify the English translation of `?Sized`

* It wasn't clear whether `?Sized` meant "not `Sized`" or "`Sized` or not `Sized`". According to #rust IRC, it does indeed mean "`Sized` or not `Sized`".
* Use the same language as [Trait std::marker::Sized](https://doc.rust-lang.org/std/marker/trait.Sized.html) about how `Sized` is implicitly bound.
* Refer to the syntax as `?Sized`, since it's currently the only allowed trait that can follow `?`.
2016-05-21 09:08:10 +05:30
..
advanced-linking.md Rust syntax coloring for some ignore, should-panic and no-run snippets. 2016-05-18 11:30:50 -06:00
associated-constants.md src/doc/trpl -> src/doc/book 2015-11-19 11:30:18 -05:00
associated-types.md Book: Fix phrasing: “an associated type” → “a trait with an associated type”. 2016-03-30 19:34:53 +02:00
attributes.md src/doc/trpl -> src/doc/book 2015-11-19 11:30:18 -05:00
benchmark-tests.md src/doc/trpl -> src/doc/book 2015-11-19 11:30:18 -05:00
bibliography.md Add Alexis thesis to bibliography 2016-01-20 19:27:05 +00:00
borrow-and-asref.md src/doc/trpl -> src/doc/book 2015-11-19 11:30:18 -05:00
box-syntax-and-patterns.md src/doc/trpl -> src/doc/book 2015-11-19 11:30:18 -05:00
casting-between-types.md Clarify wording in transmute example 2016-05-19 13:12:11 -07:00
choosing-your-guarantees.md doc: Fix a bunch of broken links 2016-03-08 13:44:14 -08:00
closures.md Rollup merge of #33721 - royalstream:royalstream-doc-highlights, r=Manishearth 2016-05-19 21:21:07 +05:30
comments.md src/doc/trpl -> src/doc/book 2015-11-19 11:30:18 -05:00
compiler-plugins.md Rust syntax coloring for some ignore, should-panic and no-run snippets. 2016-05-18 11:30:50 -06:00
concurrency.md Rust syntax coloring for some ignore, should-panic and no-run snippets. 2016-05-18 11:30:50 -06:00
conditional-compilation.md src/doc/trpl -> src/doc/book 2015-11-19 11:30:18 -05:00
const-and-static.md docs: Highlight a keyword 2016-04-21 09:53:30 +08:00
crates-and-modules.md trivial fixes to documentation (book) 2016-05-11 11:53:25 -04:00
custom-allocators.md Remove many instances of 'just' 2016-01-09 14:03:58 -05:00
deref-coercions.md src/doc/trpl -> src/doc/book 2015-11-19 11:30:18 -05:00
documentation.md Rust syntax coloring for some ignore, should-panic and no-run snippets. 2016-05-18 11:30:50 -06:00
drop.md Docs: some tiny corrections 2016-03-24 14:49:40 +08:00
effective-rust.md Be consistent about what is a "chapter" versus a "section" 2016-01-06 16:06:55 -08:00
enums.md Remove unused link from enums.md 2016-01-09 12:17:44 +03:00
error-handling.md trivial fixes to documentation (book) 2016-05-11 11:53:25 -04:00
ffi.md Rust syntax coloring for some ignore, should-panic and no-run snippets. 2016-05-18 11:30:50 -06:00
functions.md Rust syntax coloring for some ignore, should-panic and no-run snippets. 2016-05-18 11:30:50 -06:00
generics.md Remove many instances of 'just' 2016-01-09 14:03:58 -05:00
getting-started.md Add armv7-linux-androideabi target. 2016-05-07 13:29:57 +03:00
glossary.md src/doc/trpl -> src/doc/book 2015-11-19 11:30:18 -05:00
guessing-game.md Doc fix: Do not mention next project in book/guessing-game 2016-04-13 21:53:47 +05:30
if-let.md Shifted focus of while-let example per review. 2015-11-27 10:23:58 -06:00
if.md Fix minor typos in doc.rust-lang.org/book 2016-03-12 12:35:34 -08:00
inline-assembly.md Rust syntax coloring for some ignore, should-panic and no-run snippets. 2016-05-18 11:30:50 -06:00
intrinsics.md src/doc/trpl -> src/doc/book 2015-11-19 11:30:18 -05:00
iterators.md document inclusive range syntax 2016-02-27 02:01:41 -05:00
lang-items.md Synthesize calls to box_free language item 2016-02-04 15:56:01 +02:00
lifetimes.md Opening sentence was confusing and something cannot be "one of the most unique" (it either is or is not unique). 2016-04-19 12:39:31 -04:00
loops.md Rust syntax coloring for some ignore, should-panic and no-run snippets. 2016-05-18 11:30:50 -06:00
macros.md Rust syntax coloring for some ignore, should-panic and no-run snippets. 2016-05-18 11:30:50 -06:00
match.md Remove trailing whitespace at the end of lines 2016-03-22 19:31:39 +02:00
method-syntax.md Remove many instances of 'just' 2016-01-09 14:03:58 -05:00
mutability.md Clarified that let(mut x, y) = only makes x mutable, not y 2016-05-18 17:43:22 +01:00
nightly-rust.md Remove many instances of 'just' 2016-01-09 14:03:58 -05:00
no-stdlib.md Fix panic_fmt in the Book 2016-03-29 22:28:17 +02:00
operators-and-overloading.md Rust syntax coloring for some ignore, should-panic and no-run snippets. 2016-05-18 11:30:50 -06:00
ownership.md Update ownership.md 2016-04-19 12:34:33 -04:00
patterns.md Docs: Change "statements" to "expressions" on match 2016-03-23 12:03:41 +08:00
primitive-types.md Rollup merge of #32906 - jocki84:jocki84-book-size, r=steveklabnik 2016-04-18 14:50:34 -04:00
raw-pointers.md src/doc/trpl -> src/doc/book 2015-11-19 11:30:18 -05:00
README.md Be consistent about what is a "chapter" versus a "section" 2016-01-06 16:06:55 -08:00
references-and-borrowing.md Rollup merge of #33095 - xogeny:xogeny-patch-1, r=steveklabnik 2016-04-28 09:51:44 -04:00
release-channels.md src/doc/trpl -> src/doc/book 2015-11-19 11:30:18 -05:00
slice-patterns.md src/doc/trpl -> src/doc/book 2015-11-19 11:30:18 -05:00
strings.md rustdoc: remove artificial indentation of doctest code 2016-05-09 22:46:40 +02:00
structs.md Remove many instances of 'just' 2016-01-09 14:03:58 -05:00
SUMMARY.md Make book ordering more natural 2016-03-01 19:50:11 -05:00
syntax-and-semantics.md Be consistent about what is a "chapter" versus a "section" 2016-01-06 16:06:55 -08:00
syntax-index.md Rollup merge of #32092 - bluss:operator-overload, r=steveklabnik 2016-03-08 21:44:11 +03:00
testing.md trivial fixes to documentation (book) 2016-05-11 11:53:25 -04:00
the-stack-and-the-heap.md Book: small improvement to a table to make it clearer 2016-05-19 11:05:13 -06:00
trait-objects.md Rust syntax coloring for some ignore, should-panic and no-run snippets. 2016-05-18 11:30:50 -06:00
traits.md Rust syntax coloring for some ignore, should-panic and no-run snippets. 2016-05-18 11:30:50 -06:00
type-aliases.md book: Provide link to tuple structs in type aliases chapter 2015-12-02 10:47:53 +06:00
ufcs.md src/doc/trpl -> src/doc/book 2015-11-19 11:30:18 -05:00
unsafe.md grammar: 'fewer' instead of 'less' 2016-03-01 08:42:34 -05:00
unsized-types.md Wording changes 2016-05-20 17:47:34 -07:00
using-rust-without-the-standard-library.md Fix typo (!#[no_std]) 2016-02-28 20:46:56 -05:00
variable-bindings.md let introduces a statement 2016-03-18 01:17:19 +08:00
vectors.md Rust syntax coloring for some ignore, should-panic and no-run snippets. 2016-05-18 11:30:50 -06:00

% The Rust Programming Language

Welcome! This book will teach you about the Rust Programming Language. Rust is a systems programming language focused on three goals: safety, speed, and concurrency. It maintains these goals without having a garbage collector, making it a useful language for a number of use cases other languages arent good at: embedding in other languages, programs with specific space and time requirements, and writing low-level code, like device drivers and operating systems. It improves on current languages targeting this space by having a number of compile-time safety checks that produce no runtime overhead, while eliminating all data races. Rust also aims to achieve zero-cost abstractions even though some of these abstractions feel like those of a high-level language. Even then, Rust still allows precise control like a low-level language would.

“The Rust Programming Language” is split into chapters. This introduction is the first. After this:

Contributing

The source files from which this book is generated can be found on GitHub.