Commit Graph

3379 Commits

Author SHA1 Message Date
Jethro Beekman
14eef41378 Book: Update raw/byte string literal in syntax index
The raw byte string literal syntax in the syntax index was incorrect. Also added links to the reference for raw and/or byte string literals.
2015-10-28 14:38:04 -07:00
Daniel Rollins
90b776e5c7 Add diverging functions -> ! to syntax index
Resolves #29431
2015-10-28 19:56:57 +00:00
Eric Findlay
fdb2826738 Added try! example to documentation.md 2015-10-28 10:39:22 +09:00
Marcell Pardavi
b6f5e7238a Small fix in the book
Fixes #29401.

r? @steveklabnik
2015-10-27 19:02:47 +01:00
bors
eab5ad529b Auto merge of #29326 - Charlotteis:patch-1, r=steveklabnik
The beginning of the work that needs to be done as part of #28835.

☀️
2015-10-27 10:15:00 +00:00
bors
0152a93bb4 Auto merge of #29317 - matklad:clarify-reference, r=steveklabnik
Rust reference is a bit confusing here, because it does not explicitly mention trait objects.

See an example of confusion here https://users.rust-lang.org/t/confusion-about-impls-without-for/3379/2 :)

r? @steveklabnik
2015-10-27 08:27:53 +00:00
bors
996ba1d306 Auto merge of #29309 - rjbs:doc-comment-sections, r=alexcrichton
As displayed before this commit, I found the book confusing in its
explanation of `#`-led comments in `rust` blocks.  Possibly the
biggest confusion was because the many-dashes construct does not
become an HR element in the Markdown translator used, so things were
not being properly set off.

This change should more clearly show the as-rendered content as
rendered, and the as-coded content as code.
2015-10-27 06:40:12 +00:00
Charlotte Spencer
7447457ef8 Remove use of 'just' in trpl/installing-rust.md
The beginning of the work that needs to be done as part of #28835.
2015-10-26 16:29:54 +00:00
bors
c5d650cf74 Auto merge of #29310 - mdinger:book_playpen, r=steveklabnik
Makes rustbook code playpen links follow the style set in https://github.com/rust-lang/rust/pull/28963. This is basically cut and paste from the other one. The link looks better and still works so I assume it's good.

![rustbook](https://cloud.githubusercontent.com/assets/4156987/10717631/7a74f8ae-7b34-11e5-8870-35b5fc2526a4.png)

Fixes https://github.com/rust-lang/rust/issues/29308

r? @steveklabnik
2015-10-26 15:50:45 +00:00
bors
0b9edc77c5 Auto merge of #29280 - Ryman:bad_docattr, r=Manishearth
As is, this attr would lead to the "///" prefix being in the output text.
2015-10-26 13:58:50 +00:00
bors
7de9c4eea8 Auto merge of #29247 - dcarral:missing_word_trpl, r=steveklabnik
I somehow missed a word behind the numbers while going through this section, don't know what the best approach would be though since "**available** addresses" sounds good to me, too".
2015-10-26 12:08:51 +00:00
Aleksey Kladov
32e4ba8f50 reference: clarify impl
Another kind of nominal types in Rust are trait objects, so the following is valid

```rust
trait A {

}

impl A {

}
```
2015-10-26 12:31:17 +03:00
mdinger
a3478e0d16 Update the playpen link for code in the rust book to agree with rustdoc's new style 2015-10-25 16:18:55 -04:00
Ricardo Signes
50611331b4 reformat the docs for hidden code in rust sections
As displayed before this commit, I found the book confusing in its
explanation of `#`-led comments in `rust` blocks.  Possibly the
biggest confusion was because the many-dashes construct does not
become an HR element in the Markdown translator used, so things were
not being properly set off.

This change should more clearly show the as-rendered content as
rendered, and the as-coded content as code.
2015-10-25 16:05:58 -04:00
Kevin Butler
315f76202f Fix docattr to match surrounding text
As is, this attr would lead to the "///" prefix being in the output text
2015-10-24 20:00:58 +01:00
bors
8d86d1a4e1 Auto merge of #29215 - fhahn:issue-28157-bad-semicolon, r=alexcrichton
PR for #28157. At the moment, `rustc` emits a warning when a bare semicolon is encountered (could also be a fail, but I think this is a backwards incompatible change).

Also I am not sure where the best place for a test for that warning would be. Seems run-pass tests do not check warnings.
2015-10-24 18:37:09 +00:00
Florian Hahn
1e62bd2754 Allow bare semicolon in grammar doc, closes #28157 2015-10-24 00:45:18 +02:00
Daniel Carral
2e0e32f4eb Add missing word to TRPL's 'The Heap' section 2015-10-23 12:37:46 +02:00
bors
9a855668fc Auto merge of #29194 - chrisccerami:clarify-headers-in-traits-docs, r=Manishearth
It's possible that there is some meaning I'm not grasping from the headers "Traits bounds for generic functions" and "Traits bounds for generic structs", but they seem to me like they could be clearer and more grammatically correct.
2015-10-23 09:06:24 +00:00
Chris C Cerami
00c1419e32 Define bounds in glossary.md 2015-10-23 00:45:44 -04:00
Steve Klabnik
b51d5e10b2 Rollup merge of #29230 - tsion:fix-nomicon-typo-2, r=steveklabnik
r? @steveklabnik
2015-10-22 12:43:50 -04:00
Steve Klabnik
58fed892c5 Rollup merge of #29207 - ykomatsu:trpl, r=steveklabnik 2015-10-22 12:43:49 -04:00
Steve Klabnik
94326e1916 Rollup merge of #29193 - kini:filename-conventions, r=alexcrichton
When reading this paragraph, the beginning Rust programmer is starting
to write a Hello World program.  We have just told her to name the file
`main.rs`, and immediately afterward, a `hello_world.rs` is mentioned.
I changed this to an unrelated filename (incidentally one that appears
in this repository) to make it clear that this is just an example.
Also, wording it as a declarative sentence rather than an imperative one
further separates it from the Hello World instructions in this section.

r? @steveklabnik 

(Let me know if I'm sending too many PRs -- I can batch up TRPL edits, say, per chapter, if that works better. Or I can just refrain from editing TRPL as I read through it, if these are not sufficiently useful.)
2015-10-22 12:43:49 -04:00
Steve Klabnik
7a16b95d4a Rollup merge of #29170 - kini:curl-sh-disclaimer, r=steveklabnik
The paragraph here seemed confusing, so I reworded it.  Also added
another possible reason why `curl | sh` might be objectionable to users.

r? @steveklabnik
2015-10-22 12:43:48 -04:00
bors
ca998fc2f1 Auto merge of #29018 - tsion:doc-typo, r=steveklabnik
r? @steveklabnik
2015-10-22 13:12:20 +00:00
Scott Olson
6003b479a0 Add missing "to" in Rustonomicon Atomics. 2015-10-22 03:33:47 -06:00
Yoshito Komatsu
f609d17573 Correct a previous patch 2015-10-22 09:17:04 +09:00
bors
ea2dabf6b2 Auto merge of #29138 - ykomatsu:trpl2, r=Manishearth 2015-10-21 14:45:48 +00:00
Yoshito Komatsu
55796c07b8 Fix some typos in TRPL 2015-10-21 22:17:23 +09:00
bors
26c14a488b Auto merge of #29017 - ykomatsu:trpl, r=steveklabnik 2015-10-21 11:13:46 +00:00
bors
4aec7c7d61 Auto merge of #29055 - alexcrichton:tiers, r=steveklabnik
This commit expands the "supported platforms" section of the book to include
documentation on the tiers that Rust currently has as well as organizing all
supported platforms into these various tiers. Infrastructure improvements over
the next few months are likely to change the location of may of these platforms
over, but for now this should faithfully represent what we've got today!
2015-10-21 07:45:48 +00:00
Chris C Cerami
509bec89fa Change headers in Traits section of the book 2015-10-20 21:21:44 -04:00
Keshav Kini
79102e327c Remove reference to hello_world.rs in TRPL §2.2
When reading this paragraph, the beginning Rust programmer is starting
to write a Hello World program.  We have just told her to name the file
`main.rs`, and immediately afterward, a `hello_world.rs` is mentioned.
I changed this to an unrelated filename (incidentally one that appears
in this repository) to make it clear that this is just an example.
Also, wording it as a declarative sentence rather than an imperative one
further separates it from the Hello World instructions in this section.
2015-10-20 16:58:43 -05:00
bors
97ba52ec37 Auto merge of #29148 - petrochenkov:noshow, r=alexcrichton
Closes https://github.com/rust-lang/rust/issues/29145

[breaking-change], needs a crater run.
2015-10-20 19:02:27 +00:00
Alex Crichton
93e419cab6 doc: Clarify supported platforms and tiers
This commit expands the "supported platforms" section of the book to include
documentation on the tiers that Rust currently has as well as organizing all
supported platforms into these various tiers. Infrastructure improvements over
the next few months are likely to change the location of may of these platforms
over, but for now this should faithfully represent what we've got today!
2015-10-20 10:13:32 -07:00
Steve Klabnik
2fb3b856c5 Rollup merge of #29175 - durka:patch-8, r=Gankro
Yay, markdown isn't standardized and rustbook's parser has subtle incompatibilities with Github's! So in the Github preview you don't see that this list fails to separate from the previous paragraph. I think this should fix it, but I didn't check.
2015-10-20 09:43:47 -04:00
Steve Klabnik
53c4b4d412 Rollup merge of #29162 - tsion:fix-nomicon-typo, r=alexcrichton
r? @steveklabnik
2015-10-20 09:43:47 -04:00
Vadim Chugunov
adce670e75 Fix up tests and docs. 2015-10-19 18:54:38 -07:00
Alex Burka
f1e06db8c2 fix markdown in nomicon/dropck 2015-10-19 20:14:38 -04:00
Keshav Kini
968d17a3eb Replace -- with — 2015-10-19 16:18:20 -05:00
Steve Klabnik
2f2d8df534 Rollup merge of #29169 - apasel422:spell, r=steveklabnik
r? @steveklabnik
2015-10-19 17:14:08 -04:00
Steve Klabnik
ea3bf79bac Rollup merge of #29168 - aarzee:master, r=steveklabnik
Remove leading newlines; replace lines containing only whitespace with empty lines; replace multiple trailing newlines with a single newline; remove trailing whitespace in lines.

This PR was created semiautomatically.
2015-10-19 17:14:08 -04:00
Andrew Paseltiner
9431f3cc7b Correct spelling in docs 2015-10-19 13:48:42 -04:00
Keshav Kini
d142a4eed0 Reword curl | sh disclaimer in TRPL §2.1
The paragraph here seemed confusing, so I reworded it.  Also added
another possible reason why `curl | sh` might be objectionable to users.
2015-10-19 12:05:52 -05:00
Carlos Liam
f9d056f1b7 Clean whitespace
Remove leading newlines; replace lines containing only whitespace with empty lines; replace multiple trailing newlines with a single newline; remove trailing whitespace in lines
2015-10-19 11:16:31 -04:00
Irving A.J. Rivas Z.
e2ecf279b6 Made the example capable of consistent deadlocking
To augment the didactic effect, made placed the thread::sleep_ms call in the last example, so that there will be time for the other locks to happen; without this, I was unable to observe the deadlock in over 1,000 runs when there was no left-handed philosopher.
2015-10-19 10:02:46 -04:00
Scott Olson
8222970f79 Fix minor syntax error in example. 2015-10-19 01:43:48 -06:00
Yoshito Komatsu
5a15144b95 Change to avoid repeated "is" 2015-10-19 14:23:51 +09:00
Vadim Petrochenkov
025cf75864 Remove #[derive(Show)] 2015-10-18 19:12:09 +03:00
Yoshito Komatsu
5122a6d936 Fix some typos 2015-10-18 16:07:00 +09:00
bors
206af38e74 Auto merge of #29105 - billpmurphy:master, r=alexcrichton
Change the spacing/order of lines in the final pointer conversion example to make it more clear.

Very small change, can be rolled up.
2015-10-17 17:53:53 +00:00
bors
971856d0ec Auto merge of #29089 - kickinbahk:edit-testing-docs, r=steveklabnik
When going through the docs, it is not clear that binary files cannot be tested. Additionally, it is hard to find the proper structure of a Rust crate and it took me several hours of looking through the docs to find the crates and modules section. I think we can link to it from here and it will be beneficial to those who are coming to the language.
2015-10-17 15:10:07 +00:00
bors
be91042913 Auto merge of #29082 - DenisKolodin:patch-3, r=alexcrichton 2015-10-16 20:35:51 +00:00
kickinbahk
cf926f1c18 Update the testing doc to be more clear and include dynamic link
Fixed some typos and changed the link to the link to crates-and-modules to be dynamic.
2015-10-16 11:45:22 -07:00
DenisKolodin
5736c1d90a Update explanation about offset method 2015-10-16 19:10:01 +03:00
billpmurphy
348cbe0cb9 book: Change raw pointer conversion example
Change the spacing/order of lines in the final pointer conversion example to make it more clear.
2015-10-16 11:42:27 -04:00
bors
05cfd72ed1 Auto merge of #29086 - fhahn:book-update-lint-plugin-example, r=alexcrichton 2015-10-16 11:33:01 +00:00
bors
beeaea4a70 Auto merge of #28957 - GuillaumeGomez:patch-5, r=Manishearth
cc @nagisa
2015-10-16 09:49:50 +00:00
Guillaume Gomez
a3f9fc69d6 Change error message in rustbook 2015-10-16 10:59:04 +02:00
kickinbahk
1468b190ac Add to Testing docs to make more clear
When going through the docs, it is not clear that binary files cannot be tested. Additionally, it is hard to find the proper structure of a Rust crate and it took me several hours of looking through the docs to find the crates and modules section. I think we can link to it from here and it will be beneficial to those who are coming to the language.
2015-10-15 17:44:21 -07:00
Florian Hahn
ac097f1a5e Update lint plugin example in book to work with recent master 2015-10-15 23:53:05 +02:00
Ryan Scheel (Havvy)
48c90a38c1 Remove outdated Changing directory. 2015-10-15 19:35:39 +00:00
Manish Goregaokar
7be7ec300e Rollup merge of #29066 - dcarral:fix_issue_29063, r=steveklabnik
Regarding [#29063 _[Docs] Terminology inconsistency between 'iterator adapters' and 'iterator adaptors'_](https://github.com/rust-lang/rust/issues/29063) :

This PR replaces 'iterator adapters' appearances (in TRPL book) to 'iterator adaptors', thus embracing the terminology used along the API docs and achieving consistency between both sources.
2015-10-15 13:41:33 +05:30
Manish Goregaokar
677a9895a8 Rollup merge of #29062 - rgardner:rgardner-fix-book-comp-warning, r=alexcrichton
Before this commit, the first "A Rust library" code sample produced
the following compilation warning:
```
test.rs:7:22: 7:36 warning: unnecessary parentheses around `for` head
expression, #[warn(unused_parens)] on by default
test.rs:7             for _ in (0..5_000_000) {
```

This commit just removes the parens around the range 0..5_000_000 thereby removing the compilation warning.
2015-10-15 13:41:33 +05:30
Manish Goregaokar
596338b8ef Rollup merge of #29060 - tshepang:consistency, r=nikomatsakis 2015-10-15 13:41:33 +05:30
Manish Goregaokar
bcbad7ba8c Rollup merge of #29059 - tshepang:typo, r=nikomatsakis 2015-10-15 13:41:32 +05:30
Manish Goregaokar
2172d2a4ec Rollup merge of #29058 - tshepang:rename, r=steveklabnik
Shoud have been part of commit 0b13ee0ced
2015-10-15 13:41:32 +05:30
Manish Goregaokar
d90f8f912b Rollup merge of #29022 - apasel422:spell, r=steveklabnik
r? @steveklabnik
2015-10-15 13:41:32 +05:30
Manish Goregaokar
ad5159d52f Rollup merge of #28906 - tshepang:link, r=nikomatsakis 2015-10-15 13:41:31 +05:30
Daniel Carral
6bff154b57 Replace 'adapters' to 'adaptors' in TRPL book
Regarding #29063: Replace 'iterator adapters' appearances to
'iterator adaptors', thus embracing the terminology used along the
API docs and achieving consistency between both sources.
2015-10-15 02:13:20 +02:00
Tshepang Lekhonkhobe
18fa6d8dbc book: be consistent with preceding example 2015-10-15 00:19:47 +02:00
Tshepang Lekhonkhobe
5d5e62d7d8 book: fix typo 2015-10-15 00:16:13 +02:00
Tshepang Lekhonkhobe
ea37fadebb reference: 'struct' is more common that 'structure'
Shoud have been part of commit 0b13ee0ced
2015-10-15 00:09:08 +02:00
Tshepang Lekhonkhobe
0dbc2ef8a1 reference: add link to the symbols 2015-10-14 23:48:26 +02:00
Robert Gardner
c8b6c125d4 Resolve unused_parens compilation warning
Before this commit, the first "A Rust library" code sample produced
the following compilation warning:
```
test.rs:7:22: 7:36 warning: unnecessary parentheses around `for` head
expression, #[warn(unused_parens)] on by default
test.rs:7             for _ in (0..5_000_000) {
```

This commit just removes the parens around the range 0..5_000_000.
2015-10-14 17:38:56 -04:00
Manish Goregaokar
570756face Rollup merge of #29028 - Seeker14491:patch-1, r=Manishearth
Having this code section hidden is misleading because it makes it look like implementing Circle for Foo automatically makes Foo implement Shape.
2015-10-14 12:50:57 +05:30
Manish Goregaokar
5dc2955f91 Rollup merge of #29013 - chrisccerami:fix_broken_lifetime_elision_link, r=alexcrichton
This link was added in #28842 but doesn't work at https://doc.rust-lang.org/nightly/book/lifetimes.html. What works in my markdown preview doesn't work live, and vice versa.
2015-10-14 12:50:55 +05:30
bors
293966694c Auto merge of #28816 - petrochenkov:unistruct, r=nrc
This patch uses the same data structures for structs and enum variants in AST and HIR. These changes in data structures lead to noticeable simplification in most of code dealing with them.
I didn't touch the top level, i.e. `ItemStruct` is still `ItemStruct` and not `ItemEnum` with one variant, like in the type checker.
As part of this patch, structures and variants get the `kind` field making distinction between "normal" structs, tuple structs and unit structs explicit instead of relying on the number of fields and presence of constructor `NodeId`. In particular, we can now distinguish empty tuple structs from unit structs, which was impossible before! Comprehensive tests for empty structs are added and some improvements to empty struct feature gates are made. Some tests don't pass due to issue https://github.com/rust-lang/rust/issues/28692 , they are still there for completeness, but are commented out.
This patch fixes issue mentioned in https://github.com/rust-lang/rust/issues/16819#issuecomment-139509861, now emptiness of tuple structs is checked after expansion.
It also touches https://github.com/rust-lang/rust/issues/28750 by providing span for visit_struct_def
cc https://github.com/rust-lang/rust/pull/28336

r? @nrc
2015-10-14 04:21:58 +00:00
Seeker14491
12224bec21 Unhide some code from the Traits section
Having this code section hidden is misleading because it makes it look like implementing Circle for Foo automatically makes Foo implement Shape.
2015-10-13 13:45:10 -05:00
Steve Klabnik
1537545133 Rollup merge of #29015 - dripton:master, r=alexcrichton
Just a single-character typo fix.
2015-10-13 13:09:53 -04:00
Steve Klabnik
53bec74bc5 Rollup merge of #29007 - dnwade:patch-2, r=alexcrichton
r? @steveklabnik
2015-10-13 13:09:53 -04:00
Andrew Paseltiner
1162b3752c Correct spelling in docs 2015-10-13 09:44:11 -04:00
Vadim Petrochenkov
8a12c19171 Test and gate empty structures and variants better 2015-10-13 15:19:20 +03:00
Scott Olson
0d3d6e40fd Fix typo in custom allocator docs. 2015-10-13 01:23:42 -06:00
Yoshito Komatsu
6ee31347b3 Fix some typos 2015-10-13 15:59:59 +09:00
David Ripton
07e0161106 Typo fix 2015-10-12 23:24:27 -04:00
Chris C Cerami
42e0b8bc7e Fix Lifetime Elision link in lifetimes.md 2015-10-12 22:24:51 -04:00
Dan W.
6406dcb2c4 typo 2015-10-12 15:29:20 -07:00
Fabiano Beselga
086f6b803f Fix docs about borrowing and lifetimes 2015-10-12 13:58:21 -03:00
bors
81b3b27cf5 Auto merge of #28969 - chrisccerami:link_to_ffi_in_concurrency_chapter, r=steveklabnik 2015-10-11 23:20:28 +00:00
Chris C Cerami
42e3f1dfae Link to FFI in Concurrency chapter 2015-10-11 13:23:57 -04:00
Yoshito Komatsu
9652fc1d49 Fix some typos 2015-10-11 22:38:44 +09:00
bors
1302187673 Auto merge of #28945 - shama:doc-typos, r=steveklabnik
Just a few typos found in the docs. Thanks!
2015-10-10 16:40:05 +00:00
Kyle Robinson Young
a6aa6456ee doc: fixing typos 2015-10-10 09:15:55 -07:00
bors
e3cd872418 Auto merge of #28922 - panicbit:trpl-missing-docs, r=steveklabnik 2015-10-10 14:51:42 +00:00
bors
8091cb139f Auto merge of #28930 - steveklabnik:update_pr, r=steveklabnik
https://github.com/rust-lang/rust/pull/27813#issuecomment-146842041
2015-10-10 07:56:49 +00:00
bors
840d29eab6 Auto merge of #28928 - ykomatsu:trpl, r=Manishearth 2015-10-10 04:15:33 +00:00
bors
87cd2c0827 Auto merge of #28861 - pnkfelix:fsk-nonparam-dropck-issue28498, r=arielb1
implement RFC 1238: nonparametric dropck.

cc #28498 

cc @nikomatsakis
2015-10-10 00:39:29 +00:00
bors
7dcc4d7dcb Auto merge of #28926 - DanielKeep:syntax-index, r=steveklabnik
The intent with this chapter is to have a central place where users can
go to find out what a random bit of syntax means, be it a keyword,
symbol, or some unusual bit of composite syntax (like `for <...>`).  This
should be useful both for new users (who may not know what to call this
weird `'blah` thing), and for experienced users (who may just wish to
link someone to the appropriate section on `Trait + Trait` bounds).

Where possible, entries have been linked to an appropriate section of
the book which explains the syntax.  This was not possible in all cases.
If an entry is missing links, that's because I was unable to *find*
anything appropriate to link to.

This commit should include all stable keywords, operators and symbols,
as well as a selection of potentially confusing or unusual syntax.
2015-10-09 19:28:43 +00:00
Jonathan Hansford
22fbbd4b5c Some tidying up
Improving the use of 2nd and 3rd person
Adding a few contractions to make the text less formal
Tidying up some notes
Providing a little bit more clarification for Windows users
2015-10-09 12:06:51 -04:00
Jonathan Hansford
f116ab58b2 2nd to 3rd person
Replacing all references to the 2nd person with references to the 3rd
person (excluding `authors = [ "Your name <you@example.com>" ]` and
`file:///home/yourname/projects/hello_world` in `hello-cargo.md`)
2015-10-09 12:06:05 -04:00
Yoshito Komatsu
440b3fb277 Fix GitHub 2015-10-09 22:03:02 +09:00
panicbit
cf785d1a9f trpl: mention doc(hidden) 2015-10-09 14:08:32 +02:00
Felix S. Klock II
e1aba75a97 review comment: point out that the dropck analysis is now trivial. 2015-10-09 14:08:06 +02:00
Daniel Keep
2b5983423d Corrections to syntax index.
* removed reference to struct fields from `mut` description.
* changed `..` pattern example to not be syntactically bogus.
* changed `@` pattern example for similar reasons.

(Thanks petrochenkov)
2015-10-09 23:06:20 +11:00
panicbit
8dfe0ec8a8 trpl: missing documentation wording 2015-10-09 14:04:45 +02:00
Daniel Keep
b78614fdfa Expanded entries for generics.
* Now mentions method generics.
* Has separate entries for generic `fn`, `struct`, `enum`, and `impl`
  items.

(Thanks killercup).
2015-10-09 22:19:56 +11:00
Daniel Keep
702b6e552c Introduces a "Syntax Index" chapter to TRPL.
The intent with this chapter is to have a central place where users can
go to find out what a random bit of syntax means, be it a keyword,
symbol, or some unusual bit of composite syntax (like `for <...>`).  This
should be useful both for new users (who may not know what to call this
weird `'blah` thing), and for experienced users (who may just wish to
link someone to the appropriate section on `Trait + Trait` bounds).

Where possible, entries have been linked to an appropriate section of
the book which explains the syntax.  This was not possible in all cases.
If an entry is missing links, that's because I was unable to *find*
anything appropriate to link to.

This commit should include all stable keywords, operators and symbols,
as well as a selection of potentially confusing or unusual syntax.
2015-10-09 19:47:16 +11:00
bors
7cea9a7141 Auto merge of #28869 - alexcrichton:allocator-dox, r=steveklabnik
This adds a chapter to the nightly section of the book on leveraging and
implementing the `#![allocator]` attribute to write custom allocators as well as
explaining the current situation with allocators.
2015-10-09 06:29:30 +00:00
bors
a03e0ee657 Auto merge of #28817 - dcarral:installing_rust_v130, r=brson
Update "Installing Rust" section @ TRPL so it references the last stable version, v1.3.0.
2015-10-09 04:43:31 +00:00
panicbit
6b5eb70e1d trpl: mention missing_docs lint 2015-10-09 03:00:43 +02:00
bors
d0cae14f66 Auto merge of #28900 - cristicbz:typos, r=alexcrichton
I found these automatically, but fixed them manually to ensure the semantics are correct. I know things like these are hardly important, since they only marginally improve clarity. But at least for me typos and simple grammatical errors trigger an---unjustified---sense of unprofessionalism, despite the fact that I make them all the time and I understand that they're the sort of thing that is bound to slip through review.  

Anyway, to find most of these I used:

  * `ag '.*//.*(\b[A-Za-z]{2,}\b) \1\b'` for repeated words

  * `ag '\b(the|this|those|these|a|it) (a|the|this|those|these|it)\b'` to find constructs like 'the this' etc. many false positives, but not too hard to scroll through them to actually find the mistakes.

  * `cat ../../typos.txt | paste -d'|' - - - - - - - - - - - - - - - - - - - - - - | tr '\n' '\0' | xargs -0 -P4 -n1 ag`. Hacky way to find misspellings, but it works ok. I got `typos.txt` from [Wikipedia](https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines)

* `ag '.*//.* a ([ae][a-z]|(o[^n])|(i[a-rt-z]))'` to find places where 'a' was followed by a vowel (requiring 'an' instead).

I also used a handful more one off regexes that are too boring to reproduce here.
2015-10-08 22:40:50 +00:00
Alex Crichton
abe7874b35 book: Add documentation on custom allocators
This adds a chapter to the nightly section of the book on leveraging and
implementing the `#![allocator]` attribute to write custom allocators as well as
explaining the current situation with allocators.
2015-10-08 12:49:52 -07:00
Cristi Cobzarenco
4b308b44e1 typos: fix a grabbag of typos all over the place 2015-10-08 19:49:31 +01:00
Steve Klabnik
8ca14251c9 Rollup merge of #28905 - tshepang:typo, r=steveklabnik 2015-10-08 13:54:04 -04:00
Steve Klabnik
8600610197 Rollup merge of #28904 - panicbit:trpl-derive, r=steveklabnik 2015-10-08 13:54:04 -04:00
Steve Klabnik
ac541d3206 Rollup merge of #28893 - steveklabnik:gh28687, r=nikomatsakis
Fixes #28687
2015-10-08 13:54:03 -04:00
bors
95285c496f Auto merge of #28621 - tshepang:move-safety, r=steveklabnik 2015-10-08 14:04:41 +00:00
Felix S. Klock II
9ed5faa9d5 Document the new more conservative dropck rule and the escape hatch. 2015-10-08 15:34:54 +02:00
Tshepang Lekhonkhobe
88506c2261 reference: fix typos 2015-10-08 07:34:58 +02:00
panicbit
7515514fdc trpl: link to derivable trait's docs 2015-10-08 07:27:26 +02:00
panicbit
4d7eee1817 trpl: mention deriving in traits section 2015-10-08 07:15:39 +02:00
Steve Klabnik
fb09639d92 Rollup merge of #28889 - JIghtuse:str_doc, r=steveklabnik 2015-10-07 18:18:38 -04:00
Steve Klabnik
4c8a0c0578 Rollup merge of #28882 - ykomatsu:trpl, r=steveklabnik 2015-10-07 18:18:37 -04:00
Steve Klabnik
94755b291a Rollup merge of #28880 - Wallacoloo:book-5.14-typo, r=alexcrichton
The diff can hopefully speak for itself. Regardless: this chapter of the book contained a sentence where "the" was mistakenly repeated twice. In this same section, there was a comma separating two sentences where a period should have been. This PR fixes both issues.
2015-10-07 18:18:37 -04:00
Steve Klabnik
5470a1c975 Rollup merge of #28878 - sourcefrog:doc-links, r=steveklabnik 2015-10-07 18:18:37 -04:00
Steve Klabnik
f688c0e711 Rollup merge of #28856 - chills42:master, r=steveklabnik
This is to address issue #28803 by improving some of the references to closures, to explain what they are more clearly, while hopefully still being concise.

r? @steveklabnik
2015-10-07 18:18:36 -04:00
Steve Klabnik
18c66b5aff Rollup merge of #28836 - jackwilsonv:patch-6, r=steveklabnik
r? @steveklabnik
2015-10-07 18:18:36 -04:00
Steve Klabnik
bbc2056694 Comment on shadowing with patterns
Fixes #28687
2015-10-07 16:41:15 -04:00
Boris Egorov
1e0fbbd721 trpl: Fix some bad wording in iterators subsection 2015-10-07 23:57:52 +06:00
Boris Egorov
2ba0c48b79 trpl: Use ordered list to release user from counting
Later in text we mention 'step four' and 'step three'. This fix releases user
from counting.
2015-10-07 23:41:20 +06:00
bors
add6b90a3f Auto merge of #28867 - panicbit:german-trpl, r=steveklabnik 2015-10-07 12:13:32 +00:00
Yoshito Komatsu
03dfe89786 Fix a typo
Add musl link
2015-10-07 16:07:42 +09:00
Colin Wallace
4119fc2749 Fix "the the" typo and split a run-on sentence 2015-10-06 21:39:18 -07:00
Martin Pool
cbf97c3e65 style guide: suggest manual links to constructors 2015-10-06 19:42:58 -07:00
Jack Wilson
d21b4f5451 Use the correct mod name from the example 2015-10-06 19:22:05 -07:00
Daniel Carral
f5a653e46f Update TRPL/Installing Rust to avoid concrete version numbers
As discussed in PR #28817
2015-10-07 00:30:02 +02:00
bors
80660d6ba0 Auto merge of #28864 - aarzee:master, r=steveklabnik
Remove leading newlines in files and replace lines containing only whitespace with blank lines
2015-10-06 20:21:34 +00:00
bors
e7b6056048 Auto merge of #28842 - chrisccerami:patch-1, r=steveklabnik 2015-10-06 17:57:00 +00:00
panicbit
ce1f4fc0ba Add link to the german trpl translation 2015-10-06 19:50:09 +02:00
Carlos Liam
aba267fd0d Replace multiple trailing newlines with a single trailing newline
Sorry I didn’t get this in the last PR (#28864), I hadn’t thought of it.
2015-10-06 13:06:39 -04:00
Carlos Liam
3967e1c940 Clean newlines 2015-10-06 11:14:11 -04:00
Chris C Cerami
f490f5171e Wrap words at 80 characters 2015-10-06 10:39:37 -04:00
Craig Hills
7895ec2d57 address review concerns 2015-10-06 10:30:33 -04:00
Felix S. Klock II
9868df2fd5 Non-parametric dropck; instead trust an unsafe attribute (RFC 1238).
Implement cannot-assume-parametricity (CAP) from RFC 1238, and add the
UGEH attribute.

----

Note that we check for the attribute attached to the dtor method, not
the Drop impl.

(This is just to match the specification of RFC and the tests; I am
not wedded to this approach.)
2015-10-06 14:16:20 +02:00
bors
2f60768e84 Auto merge of #28858 - jryans:crate-doc-syntax, r=alexcrichton
Without the blank lines, the content is displayed inline, including the `rust,ignore` syntax hint.

r? @steveklabnik
2015-10-06 10:37:02 +00:00
J. Ryan Stinnett
ed97bcd44a Complex import example needs blank lines 2015-10-06 00:11:18 -05:00
Craig Hills
a78a874ebb possessive its 2015-10-05 22:32:53 -04:00
Craig Hills
8e420e07d9
trpl: Clarify closure terminology
This is to address issue #28803
2015-10-05 22:25:19 -04:00
bors
c2be91ede0 Auto merge of #28847 - Ms2ger:typos, r=steveklabnik 2015-10-05 20:02:02 +00:00
bors
be96988cf8 Auto merge of #28849 - semmaz:doc-anchor-fix, r=alexcrichton
r? @steveklabnik
2015-10-05 18:14:09 +00:00
Simon Mazur
fcf8dedb99 docs: anchors fixes 2015-10-05 19:25:54 +03:00
Chris C Cerami
e39808cba8 Link to 'Lifetime Elision' section at first use of elide 2015-10-05 11:40:32 -04:00
Chris C Cerami
915cf01cb6 Use a more common word than "elide", e.g. omit 2015-10-05 11:29:55 -04:00
Ms2ger
6b5349a45e Fix some typos. 2015-10-05 16:48:57 +02:00
Brian Anderson
12c68c977f Update bibliography.md 2015-10-04 15:55:19 -07:00
bors
5ff4442a3f Auto merge of #28831 - Seeker14491:patch-1, r=steveklabnik 2015-10-04 17:36:49 +00:00
James Bell
2b535a1622 Docs: Removes duplicate output from FFI example
The "Rust Inside Other Languages" page includes a library example. The
reference specifies printing "done!" when the code finishes running, and
the language examples (Ruby, Python, JS) all do this in their code.
However, the Rust library example code *also* does this, so that the
examples as written would output "done!" twice.

This removes the "done!" from the Rust example code to clarify the docs.
2015-10-04 10:44:00 +01:00
Seeker14491
a0284f4181 fix another typo 2015-10-04 00:34:21 -05:00
Seeker14491
f66170258f fix a few typos 2015-10-03 18:01:42 -05:00
Guillaume Gomez
aeb94a1948 Add missing dot 2015-10-03 20:21:39 +02:00
Steve Klabnik
92cff9f0d9 Rollup merge of #28819 - steveklabnik:doc_hr, r=brson
It's not really clear here, since the example is rendered, where it
starts and ends. So let's use <hr>s to split it up.
2015-10-02 20:38:23 -04:00
Steve Klabnik
f528c47c4b Add in some <hr>s for emphasis
It's not really clear here, since the example is rendered, where it
starts and ends. So let's use <hr>s to split it up.
2015-10-02 18:54:15 -04:00
Aleksey Kladov
eac9d71d8e reference: fix markdown formatting 2015-10-02 23:53:20 +03:00
Manish Goregaokar
3234ec1455 Rollup merge of #28786 - fhahn:ba-link, r=alexcrichton
This tiny PR just adds a link to  Florian Wilkens's Bachelor's Thesis.
2015-10-02 13:07:22 +05:30
bors
d9d9ca1a02 Auto merge of #28746 - aidanhs:aphs-musl-linking-no-cxxabi, r=alexcrichton
On reading https://github.com/alexcrichton/port-of-rust/blob/master/musl/Dockerfile I was surprised to see no libcxxabi. I experimented, and it does seem to be unnecessary.

I guess it's a remnant from the 3.6 build.

r? @alexcrichton
2015-10-01 18:16:08 +00:00
Florian Hahn
d76010f3d9 Add link to Florian Wilkens's Bachelor's Thesis 2015-10-01 11:36:26 +02:00
Steve Klabnik
f8c8c8c07d Rollup merge of #28772 - tshepang:improve-paragraph, r=steveklabnik 2015-09-30 18:20:04 -04:00
Steve Klabnik
0f6cea9a86 Rollup merge of #28771 - tshepang:upper-case, r=steveklabnik 2015-09-30 18:20:04 -04:00
Steve Klabnik
bc41536bb4 Rollup merge of #28770 - tshepang:awkward, r=steveklabnik 2015-09-30 18:20:03 -04:00
Steve Klabnik
4ab1ac5bc1 Rollup merge of #28764 - steveklabnik:gh28706, r=alexcrichton
Fixes #28706 

I am pretty sure that this is accurate, bout would love a double check.
2015-09-30 18:20:03 -04:00
Steve Klabnik
b6449eba51 Rollup merge of #28753 - steveklabnik:gh28572, r=alexcrichton
This is part of #28572, but doesn't complete it. Amongst other things,
this patch:

* Increases consistency in the way feature flags are used with other
  docs.
* Removes the ignores, which is nice: we actually had some syntax errors
  in the examples 😭.
* Mentions #![no_core]

Realistically, this document used to be in the order of least to most:
nothing, then adding core. But with the changes in RFC 1184, this is
backwards: it now shows stuff that uses core from the beginning. In the
future, I'd like to revamp this to go from 'most to least', but I'd like
to see the discussion in https://github.com/rust-lang/rust/issues/27701
goes before I write more.
2015-09-30 18:20:03 -04:00
Steve Klabnik
2a787a23d1 Improve identifier defintion in the reference
Fixes #28706
2015-09-30 14:59:05 -04:00
Steve Klabnik
15ee0e908c Rollup merge of #28765 - steveklabnik:gh28693, r=nikomatsakis
Fixes #28693
2015-09-30 14:51:55 -04:00
Steve Klabnik
a8ed0bfcaa Rollup merge of #28763 - steveklabnik:gh27917, r=alexcrichton
Fixes #27917
2015-09-30 14:51:55 -04:00
Steve Klabnik
64796d150c Rollup merge of #28761 - steveklabnik:gh28082, r=brson
We don't completely cover documentation tests in the testing chapter,
since we cover them in the documentation chapter. So make sure people
know that.

Fixes #28082
2015-09-30 14:51:55 -04:00
Steve Klabnik
d1137d634b Rollup merge of #28759 - steveklabnik:gh28359, r=nikomatsakis
Fixes #28359

I'm not doing more here because it's unclear that `as_slice()` is even going to stick around, see https://github.com/rust-lang/rust/issues/27729
2015-09-30 14:51:54 -04:00
Steve Klabnik
37d291e6ff Rollup merge of #28755 - steveklabnik:gh28418, r=alexcrichton
The original blog post referred to examples by their file names, and now
that it's in guide form, there is no file name. So edit the text so that
it makes a bit more sense.

Fixes #28428
2015-09-30 14:51:54 -04:00
Steve Klabnik
27254bc4aa Rollup merge of #28754 - luser:fix-rustdoc-module-links, r=Manishearth
The links in the rustdoc for several places in fmt were trying to link to
the std::fmt module but actually linking to std, which was confusing.
While trying to figure out why I noticed that the documentation chapter of
the Rust book has examples that show this same bug (although it doesn't seem
widespread in practice).

r? @steveklabnik
2015-09-30 14:51:54 -04:00
Steve Klabnik
3ef9c1d5f9 Mention that you can only index with usize
Fixes #28693
2015-09-30 13:46:58 -04:00
Steve Klabnik
9812eb0ef4 Elaborate on the io prelude in the book
Fixes #27917
2015-09-30 13:39:59 -04:00
Steve Klabnik
201384c107 Cross-reference doc chapter from testing chapter
We don't completely cover documentation tests in the testing chapter,
since we cover them in the documentation chapter. So make sure people
know that.

Fixes #28082
2015-09-30 13:31:17 -04:00
Steve Klabnik
bc0440a631 Call out slicing syntax more explicitly
Fixes #28359
2015-09-30 13:21:04 -04:00
Steve Klabnik
9c70d5160b Improve wording in error handling guide
The original blog post referred to examples by their file names, and now
that it's in guide form, there is no file name. So edit the text so that
it makes a bit more sense.

Fixes #28428
2015-09-30 12:39:37 -04:00
Ted Mielczarek
73bd0ba91e Fix module links in std::fmt and the Rust book's documentation chapter.
The links in the rustdoc for several places in fmt were trying to link to
the std::fmt module but actually linking to std, which was confusing.
While trying to figure out why I noticed that the documentation chapter of
the Rust book has examples that show this same bug (although it doesn't seem
widespread in practice).
2015-09-30 12:33:38 -04:00
Steve Klabnik
4632ad8896 Update no_std docs
This is part of #28572, but doesn't complete it. Amongst other things,
this patch:

* Increases consistency in the way feature flags are used with other
  docs.
* Removes the ignores, which is nice: we actually had some syntax errors
  in the examples 😭.
* Mentions #![no_core]

Realistically, this document used to be in the order of least to most:
nothing, then adding core. But with the changes in RFC 1184, this is
backwards: it now shows stuff that uses core from the beginning. In the
future, I'd like to revamp this to go from 'most to least', but I'd like
to see the discussion in https://github.com/rust-lang/rust/issues/27701
goes before I write more.
2015-09-30 11:46:33 -04:00
Aidan Hobson Sayers
b24552e0a5 libcxxabi is no longer necessary for libunwind 2015-09-30 07:42:34 +01:00
Jan Likar
ff2bc7785d Improve "Variable bindings" chapter
- Expand the first paragraph

 - Improve readability by partitioning the chapter into the following
   sections: "Patterns", "Type annotations", "Mutability", and
   "Initializing bindings"

 - Add "Scope and shadowing" section (fix #28177)
2015-09-30 02:42:52 +02:00
bors
5f06607e23 Auto merge of #27273 - tshepang:claim-not-accurate, r=steveklabnik 2015-09-29 15:04:47 +00:00
Willy Aguirre
e1acf87fe0 remove a sentence #28701 2015-09-28 10:46:50 -05:00
Tshepang Lekhonkhobe
4a5e190d46 reference: Unsafe section does not fit under Functions 2015-09-28 11:13:00 +02:00
Steve Klabnik
cc44d65c19 Rollup merge of #28680 - xaviershay:doc-readme, r=steveklabnik
This wasn't complete (you need a `./configure`), and it is already
documented well in the main README.

r? @steveklabnik
2015-09-26 18:00:39 -06:00
Steve Klabnik
3e36eecae4 Rollup merge of #28679 - xaviershay:book-unit-example, r=steveklabnik
This was non-obvious to me: with no example, I assumed `Electron {}` and
didn't know what else to try when it didn't work.  The correct form is
weird because it looks like you're assigning the struct name rather than
an instance of the struct.

r? @steveklabnik
2015-09-26 18:00:39 -06:00
Steve Klabnik
2ec89c7279 Rollup merge of #28677 - taboularasa:master, r=alexcrichton
the example for `find` was misleading in that it fails to mention the result is either `None` or `Some` containing only the first match. Further confusing the issue is the `println!` statement, "We got some numbers!"
2015-09-26 18:00:38 -06:00
Xavier Shay
865889a2cc Fix meta-documentation for generating all docs.
This wasn't complete (you need a `./configure`), and it is already
documented well in the main README.

Also adds a reference to the books that this also generates.
2015-09-26 12:05:47 -07:00
Xavier Shay
3885a81e5f Add an example of constructing a unit-like struct.
This was non-obvious to me: with no example, I assumed `Electron {}` and
didn't know what else to try when it didn't work.  The correct form is
weird because it looks like you're assigning the struct name rather than
an instance of the struct.
2015-09-26 11:59:02 -07:00
David Elliott
ded2370a74 clarify that find returns first match
the example for `find` was misleading in that it fails to mention the result is either `None` or `Some` containing only the first match. Further confusing the issue is the `println!` statement, "We got some numbers!"
2015-09-26 10:36:37 -07:00
DenisKolodin
0f491bee69 Typo fix in use declaration section of reference 2015-09-26 12:16:55 +03:00
bors
78ce46ffdd Auto merge of #28612 - gandro:targetvendor, r=alexcrichton
This adds a new target property, `target_vendor`. It is to be be used as a matcher for conditional compilation. The vendor is part of the [autoconf target triple](http://llvm.org/docs/doxygen/html/classllvm_1_1Triple.html#details): `<arch><sub>-<vendor>-<os>-<env>`. `arch`, `target_os` and `target_env` are already supported by Rust.

This change was suggested in PR #28593. It enables conditional compilation based on the vendor. This is needed for the rumprun target, which needs to match against both, target_os and target_vendor.

The default value for `target_vendor` is "unknown", "apple" and "pc" are other common values.

Matching against the `target_vendor` is introduced behind the feature gate `#![feature(cfg_target_vendor)]`.

This is the first time I messed around with rustc internals. I just added the my code where I found the existing `target_*` variables, hopefully I haven't missed anything. Please review with care. :)

r? @alexcrichton
2015-09-26 00:14:39 +00:00
Steve Klabnik
f4dc6c785c Rollup merge of #28655 - alfiedotwtf:patch-2, r=sanxiyn 2015-09-25 13:33:33 -06:00