about summary refs log tree commit diff
path: root/src/doc/book
AgeCommit message (Collapse)AuthorLines
2017-01-11Add `&mut expr` to syntax indexkrdln-1/+1
2017-01-10Auto merge of #38138 - rkruppe:no_std-no_loop, r=steveklabnikbors-11/+10
book: use abort() over loop {} for panic Due to #28728 `loop {}` is very risky and can lead to fun debugging experiences such as #38136. Besides, aborting is probably better behavior than an infinite loop. r? @steveklabnik
2017-01-04book: use abort() over loop {} for panicRobin Kruppe-11/+10
Due to #28728 loop {} is very risky and can lead to fun debugging experiences like in #38136. Besides, aborting is probably better behavior than an infinite loop.
2017-01-04Document custom derive.Steve Klabnik-0/+214
These are some bare-bones documentation for custom derive, needed to stabilize "macros 1.1", https://github.com/rust-lang/rust/issues/35900 The book chapter is based off of a blog post by @cbreeden, https://cbreeden.github.io/Macros11/ Normally, we have a policy of not mentioning external crates in documentation. However, given that syn/quote are basically neccesary for properly using macros 1.1, I feel that not including them here would make the documentation very bad. So the rules should be bent in this instance.
2017-01-03Auto merge of #38066 - bluss:string-slice-error, r=sfacklerbors-2/+2
Use more specific panic message for &str slicing errors Separate out of bounds errors from character boundary errors, and print more details for character boundary errors. It reports the first error it finds in: 1. begin out of bounds 2. end out of bounds 3. begin <= end violated 3. begin not char boundary 5. end not char boundary. Example: &"abcαβγ"[..4] thread 'str::test_slice_fail_boundary_1' panicked at 'byte index 4 is not a char boundary; it is inside 'α' (bytes 3..5) of `abcαβγ`' Fixes #38052
2017-01-03book: match enum warning removedConstantin-1/+1
Matching enums with named fields in the previous way yielded the "non_shorthand_field_patterns" warning. The new code shows the shorthand syntax as well as field renaming, so it should be exhaustive ;-)
2016-12-29Rollup merge of #38662 - agl:patch-2, r=frewsxcvAlex Crichton-2/+2
Use "an" before "i32" (Minor typo fix.) Since the word `i32` starts with a vowel, the indefinite article should use "an", not "a" \[[1](http://www.dictionary.com/browse/an)\]. (Previously there was one instance of "an i32" and two instances of "a i32", so at least something is wrong!) Since I believe that "an" is the correct form, I aligned everything with that.
2016-12-29Rollup merge of #38659 - agl:patch-1, r=apasel422Alex Crichton-1/+1
Add missing apostrophe. (Minor typo fix.) The "support" in this case is possessed by the "programmer", and that ownership should be indicated by an apostrophe.
2016-12-29Rollup merge of #38630 - frewsxcv:variadic, r=steveklabnikAlex Crichton-0/+25
Document foreign variadic functions in TRPL and the reference. Fixes https://github.com/rust-lang/rust/issues/38485.
2016-12-28Use "an" before "i32"Adam Langley-2/+2
(Minor typo fix.) Since the word `i32` starts with a vowel, the indefinite article should use "an", not "a" \[[1](http://www.dictionary.com/browse/an)\]. (Previously there was one instance of "an i32" and two instances of "a i32", so at least something is wrong!) Since I believe that "an" is the correct form, I aligned everything with that.
2016-12-28Add missing apostrophe.Adam Langley-1/+1
(Minor typo fix.) The "support" in this case is possessed by the "programmer", and that ownership should be indicated by an apostrophe.
2016-12-27Document foreign variadic functions in TRPL and the reference.Corey Farwell-0/+25
Fixes https://github.com/rust-lang/rust/issues/38485.
2016-12-27And suddenly a german word :Okellerkindt-1/+1
"verboten" is german for "forbidden"
2016-12-24Rollup merge of #38568 - chris-morgan:fix-markdown-lists, r=frewsxcvSteve Klabnik-9/+9
Fix Markdown list formatting. The Markdown engine used by the book can cope with a single leading space on the list marker: Like this: * List item Rather than like this: * List item … but it’s not the typical convention employed in the book, and moreover the Markdown engine used for producing the error index *can’t* cope with it (its behaviour looks like a bug, as it appears to lose one of the two line breaks as well, but that’s immaterial here). So, we shift to a single convention which doesn’t trigger bugs in the Markdown renderer. ---- See https://doc.rust-lang.org/error-index.html#E0458 and https://doc.rust-lang.org/error-index.html#E0101 for the bad current rendering in the error index.
2016-12-24Rollup merge of #38013 - wezm:simplify-test-notes, r=steveklabnikSteve Klabnik-5/+4
Simplify notes on testing and concurrency The start of the notes on tests running concurrently, added in https://github.com/rust-lang/rust/pull/37766 read a little awkwardly. This PR fixes that and simplifies the wording a bit. r? @steveklabnik
2016-12-24Rollup merge of #37956 - tshepang:patch-2, r=steveklabnikSteve Klabnik-2/+3
book: replace example I do not understand
2016-12-23book: replace example I do not understandTshepang Lekhonkhobe-2/+3
2016-12-22Fix Markdown list formatting.Chris Morgan-9/+9
The Markdown engine used by the book can cope with a single leading space on the list marker: Like this: * List item Rather than like this: * List item … but it’s not the typical convention employed in the book, and moreover the Markdown engine used for producing the error index *can’t* cope with it (its behaviour looks like a bug, as it appears to lose one of the two line breaks as well, but that’s immaterial here). So, we shift to a single convention which doesn’t trigger bugs in the Markdown renderer.
2016-12-16Update if-let.mdbluecereal-2/+4
Calling if-let a combination of if and let is confusing, as some may be led to believe that it's a literal combination, instead of syntactic sugar added to the language as a convenience. What's there to stop someone from thinking if-let is just if and let together? I do think this article does a good job of implying what's really going on; however, I was only able to notice this after I had begun to understand if/while-let statements, courtesy of the Rust IRC chat. Basically, this article lacks the clarity and explicitness an inexperienced programmer like me needs in order to understand the contents fully. This is shown by my inability to understand the if-let concept from this page of the Book alone. I think convenience, sugar, and (if-let != if + let) should all be made mention of in a clear, explicit manner. I lack confidence in my understanding of this issue, so I wrote just enough to hopefully get my thoughts across.
2016-12-16Update book for rustupBrian Anderson-9/+23
2016-12-16Book: rustup.sh -> rustup.rsSteve Klabnik-21/+7
Fixes #35653 cc https://github.com/rust-lang/rust-www/pull/621
2016-12-13Simplify notes on testing and concurrencyWesley Moore-5/+4
2016-12-09rustdoc: fix doctests with non-feature crate attrsAlex Burka-4/+4
2016-12-07Update book/ffi to use catch_unwindCobrand-9/+14
r? @GuillaumeGomez The doc mentioned to spawn a new thread instead of using catch_unwind, which has been the recommended way to catch panics for foreign function interfaces for a few releases now.
2016-12-01Minor fix to testing concurrency sectionSteve Smith-5/+5
2016-11-30Use more specific panic message for &str slicing errorsUlrik Sverdrup-2/+2
Separate out of bounds errors from character boundary errors, and print more details for character boundary errors. Example: &"abcαβγ"[..4] thread 'str::test_slice_fail_boundary_1' panicked at 'byte index 4 is not a char boundary; it is inside `α` (bytes 3..5) of `abcαβγ`'
2016-11-23Use literal 5 instead of five in book section 4.1Sam Estep-1/+1
2016-11-20Rollup merge of #37840 - brcooley:patch-1, r=steveklabnikGuillaume Gomez-1/+1
Fix grammar error in lifetimes.md
2016-11-17Fix grammar error in lifetimes.mdBrett Cooley-1/+1
2016-11-17Rollup merge of #37766 - tarka:book-testing-concurrency-capture, r=steveklabnikGuillaume Gomez-0/+42
Add sections about testing concurrency and stdout/err capture
2016-11-14Remove thread-per-CPU bit as it may not be accurate.Steve Smith-6/+5
2016-11-14Typo in new sectionSteve Smith-1/+1
2016-11-14Auto merge of #37755 - polo-language:doc-punct, r=GuillaumeGomezbors-183/+184
Improved punctuation, capitalization, and sentence structure of code snippet comments r? @GuillaumeGomez
2016-11-14Add sections about concurrency and stdout/err capture to the Testing chapter ↵Steve Smith-0/+43
of the book.
2016-11-13Improved punctuation, capitalization, and sentence structure of code snippet ↵Angelo Polo-183/+184
comments
2016-11-12Minor grammar fix to ffi.mdReza Akhavan-1/+1
2016-11-12Rollup merge of #37708 - oli-obk:box_free, r=eddybEduard-Mihai Burtescu-2/+2
change the `box_free` lang item to accept pointers to unsized types in miri we use the `box_free` lang item as the destructor for `Box` objects, since the function's api matches that of an `fn drop(&mut self)` in a hypothetical `impl<T: ?Sized> Drop for Box<T>` exactly. This works fine except if we insert a check in the `size_of` intrinsic to ensure that it is only called with sized types, since the `box_free` lang item calls that intrinsic. cc @eddyb no clue who to r? here, probably lang team?
2016-11-12Rollup merge of #37503 - nwin:patch-3, r=steveklabnikEduard-Mihai Burtescu-14/+8
Remove remark about poor code style The current wording [seems to be confusing](https://www.reddit.com/r/rust/comments/5aat03/why_is_implementing_traits_on_primitive_types/). As an explanation when and why this could be considered as poor style would go beyond of the scope of this chapter I suggest to remove this remark.
2016-11-12Rollup merge of #37368 - trotter:patch-1, r=steveklabnikEduard-Mihai Burtescu-31/+92
Update testing.md to reflect changes to cargo new `cargo new` now creates a `src/lib.rs` with a `tests` module by default. I've updated the earlier examples in this doc to reflect this. However, I don't know how we want to approach the "introduction" to idiomatic testing that follows in "the tests module" section. I _think_ it should be broken apart, with the module concept being introduced early on, and the `super` concept being addressed when we hit the `add_two` example. I'd like to get agreement on that being the right approach before I do it though. I _also_ removed the `#fn main() {}` hidden at the beginning of each example, as these cause Rust Playground to not treat the file as a set of tests that it can run. Removing it _should_ cause Rust Playground to display a "Test >" button in the top left when a user runs the code, which will allow them to see the test runner output.
2016-11-11Update patch with example.nwin-1/+15
2016-11-11[breaking-change] change the `box_free` item to accept pointers to unsized typesOliver 'ker' Schneider-2/+2
2016-11-10Ignore tests failing due to lack of `fn main`Trotter Cashion-7/+9
While the commit message on this one sounds terrible, it's really not so bad. The issue is that our test runner _expects_ a `fn main() {}` in code blocks that it'll test, but this code really shouldn't have them. If it did, then clicking the "play" link in the docs would result in play.rust-lang.org not treating this code as a test example to be run.
2016-11-10Remove extraneous wordTrotter Cashion-1/+1
2016-11-10Change project path for consistencyTrotter Cashion-5/+5
I had used `/tmp/adder` for my previous commits. Flipped over to `/home/you/projects/adder` for consistency with other parts of testing.md
2016-11-10Remove `mod tests` from earlier sectionsTrotter Cashion-62/+51
The narrative flows better if we follow what @steveklabnik is doing in rust-lang/book#288. Therefore, I completely copied it.
2016-11-10Instruct play.rust-lang.org to treat code as testsTrotter Cashion-2/+46
Without these changes, play.rust-lang.org (as of today) would wrap our examples in `fn main() {}`. This prevents the user from being able to easily run the tests.
2016-11-10Rollup merge of #37664 - est31:master, r=nrcEduard-Mihai Burtescu-0/+2
Document the question mark operator in reference and the book's syntax index The question mark operator will be stabilized for the Rust 1.13 release (unfortunately). Even though I don't like the operator, it still should be documented in the syntax index in the book and in the reference. Maybe there are people who also want to change the book's chapters on error handling, depending on their views of what idiomatic error handling is, now that the operator is stable, but I don't want to and I'd prefer to keep this PR focused on the reference and syntax index only. Please also apply this PR to the beta branch of rust.
2016-11-09Document the question mark operatorest31-0/+2
2016-11-08Rollup merge of #37601 - brson:book-without-tiers, r=steveklabnikSteve Klabnik-99/+12
book: Removed platform compatibility table, link to the forge The content is duplicated, and it doesn't need to be in this location. It's mostly trivia that doesn't apply to most of the audience. The forge is up to date. r? @steveklabnik cc @alexcrichton
2016-11-08Rollup merge of #37483 - xfix:patch-1, r=steveklabnikSteve Klabnik-23/+43
Match guessing game output to newest language version Cargo now informs that it has finished, and there is new error format.