Commit Graph

128 Commits

Author SHA1 Message Date
bors
da4a21e91a Auto merge of #30400 - fbergr:master, r=steveklabnik
See: https://github.com/rust-lang/rust/issues/30397

r? @steveklabnik
2015-12-21 06:02:13 +00:00
Luke Jones
1522350ecc Revert to colon. The text is introducing a list. 2015-12-21 16:24:17 +13:00
Luke Jones
1bb131cdca Update patterns.md 2015-12-21 16:20:56 +13:00
Luke Jones
fc4bb5f770 Correct line wrap 2015-12-21 16:20:20 +13:00
Luke Jones
981ac6d332 Rewrite paragraph in 'match' to be more concise and readable. Start
correcting use of ':' in sentences.
The colon `:` should be used only when the sentence preceeding it is a
complete sentence. If this is not the case, then a `;` should be used;
this denotes that the following fragment is a part of the previous
fragment.
2015-12-21 09:53:07 +13:00
nwin
aacdfb8a2a Update no-stdlib.md
Clarify the difference between compiler-panic and libcore-panic.
2015-12-19 09:19:05 +01:00
lnmx
49dc357e3e doc: minor format fixes in book/error-handling 2015-12-18 10:27:39 -05:00
Manish Goregaokar
4f8b32c96f Rollup merge of #30447 - Xmasreturns:Docu, r=steveklabnik
Added sentences for description of code and changed x in the example to an int
2015-12-18 20:02:14 +05:30
Manish Goregaokar
158a1bdd7d Rollup merge of #30406 - durka:patch-13, r=sanxiyn
The previous example had no chance of compiling in either form, due to the restrictive follow set for `ty`. This one has the desired behavior: http://is.gd/kYdw4g (well, I don't exactly desire this behavior at all, but it's true at least :p )
2015-12-18 16:47:38 +05:30
Xmasreturns
2a23e4a5b0 Clarified shadowing example
Added some additional descriptive sentences and changed x to an int in
the example
2015-12-17 14:31:31 -08:00
Shiney
62fa40f87a Used bold and italic in the markdown to make the stack and heap documentation clearer 2015-12-16 20:54:02 +00:00
Alex Burka
d91b256fe5 change macro ambiguity example from ty to ident
The previous example had no chance of compiling in either form, due to the restrictive follow set for `ty`. This one has the desired behavior: http://is.gd/kYdw4g (well, I don't exactly desire this behavior at all, but it's true at least :p )
2015-12-15 20:48:25 -05:00
Alex Burka
74c384bc8e remove claim that $crate is a single identifier
Fixes #30217.
2015-12-15 20:26:10 -05:00
fbergr
b9005dd472 Book: Fix link anchor in Syntax Index 2015-12-15 21:47:21 +02:00
bors
5de242f1b2 Auto merge of #30329 - salty-horse:punctuation, r=steveklabnik
Missing period at the end of a sentence.
2015-12-13 09:57:35 +00:00
bors
35b6461b6e Auto merge of #30310 - mbrubeck:doc-vec-bounds, r=steveklabnik
r? @steveklabnik

Currently neither the API docs nor the book clearly explain that out-of-bounds array indexing causes a panic.  Since this is fairly important and seems to surprise a number of new Rust programmers, I think it's worth adding to both places.  (But if you think it would be better to put this info in the API docs only, that's fine too.)

Some specific things I'd like feedback on:

* The new text here talks about panicking, which hasn't been formally introduced at this point in chapter 5 (though it has been mentioned in previous sections too).
* Similarly the `Vec::get` example uses `Option<T>` which hasn't been fully introduced yet.  Should we leave out this example?
2015-12-13 01:53:06 +00:00
bors
1ddaf8bdf4 Auto merge of #30309 - alexcrichton:more-tier-two, r=steveklabnik
We've got lots of new automation set up in the past few months, so these
platforms are now all tier 2 as we're building artifacts and gating on them.
2015-12-12 23:50:03 +00:00
Ori Avtalion
bb3360adde book: Add missing punctuation 2015-12-11 18:18:13 +02:00
Matt Brubeck
5b9dd6a016 Document bounds checking in the book 2015-12-11 06:18:18 -08:00
Alex Crichton
453375b4d2 book: Update Tier 2 platforms
We've got lots of new automation set up in the past few months, so these
platforms are now all tier 2 as we're building artifacts and gating on them.
2015-12-10 11:50:20 -08:00
bors
ee597a8ee1 Auto merge of #30292 - Xmasreturns:patch-3, r=steveklabnik
Updated structs.md in the book
2015-12-10 04:54:03 +00:00
Xmasreturns
2adba31682 Fixes from review
Traits -> Field labels
Revert a change to convention
2015-12-09 13:25:53 -08:00
Xmasreturns
6bbe6759a5 Grammar and slight ordering changes 2015-12-09 11:37:57 -08:00
Xmasreturns
99fdf3414f Grammar changes for readability 2015-12-09 10:07:02 -08:00
Steve Klabnik
1f0f7d6fba Rollup merge of #30273 - Xmasreturns:patch-1, r=steveklabnik
Changes to readability and some clarifications for beginners
2015-12-09 00:01:17 -05:00
Xmasreturns
88c407c74f Update traits.md 2015-12-08 14:56:42 -08:00
Xmasreturns
f5a4383b21 Update traits.md
Changes to readability and some clarifications for beginners
2015-12-08 14:38:55 -08:00
Steve Klabnik
de39b2cada Re-order the sections in TRPL
This ordering was significantly more confusing.
2015-12-08 15:14:56 -05:00
bors
85b031b3bc Auto merge of #30234 - vyp:doc-typo, r=apasel422 2015-12-06 13:23:43 +00:00
xd1le
85a90a3c20 doc(book/error-handling): fix typo 2015-12-06 20:32:49 +11:00
bors
078aff8928 Auto merge of #30221 - thyrgle:concurrency_doc, r=alexcrichton
The example code in the Channels subsection of the rust book give warnings about

    unused result which must be used, #[warn(unused_must_use)] on by default

Added a small pattern match to resolve those warnings.
2015-12-06 08:50:49 +00:00
bors
c4b16384f1 Auto merge of #30187 - alexcrichton:stabilize-1.6, r=aturon
This commit is the standard API stabilization commit for the 1.6 release cycle.
The list of issues and APIs below have all been through their cycle-long FCP and
the libs team decisions are listed below

Stabilized APIs

* `Read::read_exact`
* `ErrorKind::UnexpectedEof` (renamed from `UnexpectedEOF`)
* libcore -- this was a bit of a nuanced stabilization, the crate itself is now
  marked as `#[stable]` and the methods appearing via traits for primitives like
  `char` and `str` are now also marked as stable. Note that the extension traits
  themeselves are marked as unstable as they're imported via the prelude. The
  `try!` macro was also moved from the standard library into libcore to have the
  same interface. Otherwise the functions all have copied stability from the
  standard library now.
* `fs::DirBuilder`
* `fs::DirBuilder::new`
* `fs::DirBuilder::recursive`
* `fs::DirBuilder::create`
* `os::unix::fs::DirBuilderExt`
* `os::unix::fs::DirBuilderExt::mode`
* `vec::Drain`
* `vec::Vec::drain`
* `string::Drain`
* `string::String::drain`
* `vec_deque::Drain`
* `vec_deque::VecDeque::drain`
* `collections::hash_map::Drain`
* `collections::hash_map::HashMap::drain`
* `collections::hash_set::Drain`
* `collections::hash_set::HashSet::drain`
* `collections::binary_heap::Drain`
* `collections::binary_heap::BinaryHeap::drain`
* `Vec::extend_from_slice` (renamed from `push_all`)
* `Mutex::get_mut`
* `Mutex::into_inner`
* `RwLock::get_mut`
* `RwLock::into_inner`
* `Iterator::min_by_key` (renamed from `min_by`)
* `Iterator::max_by_key` (renamed from `max_by`)

Deprecated APIs

* `ErrorKind::UnexpectedEOF` (renamed to `UnexpectedEof`)
* `OsString::from_bytes`
* `OsStr::to_cstring`
* `OsStr::to_bytes`
* `fs::walk_dir` and `fs::WalkDir`
* `path::Components::peek`
* `slice::bytes::MutableByteVector`
* `slice::bytes::copy_memory`
* `Vec::push_all` (renamed to `extend_from_slice`)
* `Duration::span`
* `IpAddr`
* `SocketAddr::ip`
* `Read::tee`
* `io::Tee`
* `Write::broadcast`
* `io::Broadcast`
* `Iterator::min_by` (renamed to `min_by_key`)
* `Iterator::max_by` (renamed to `max_by_key`)
* `net::lookup_addr`

New APIs (still unstable)

* `<[T]>::sort_by_key` (added to mirror `min_by_key`)

Closes #27585
Closes #27704
Closes #27707
Closes #27710
Closes #27711
Closes #27727
Closes #27740
Closes #27744
Closes #27799
Closes #27801
cc #27801 (doesn't close as `Chars` is still unstable)
Closes #28968
2015-12-06 04:12:54 +00:00
Alex Crichton
464cdff102 std: Stabilize APIs for the 1.6 release
This commit is the standard API stabilization commit for the 1.6 release cycle.
The list of issues and APIs below have all been through their cycle-long FCP and
the libs team decisions are listed below

Stabilized APIs

* `Read::read_exact`
* `ErrorKind::UnexpectedEof` (renamed from `UnexpectedEOF`)
* libcore -- this was a bit of a nuanced stabilization, the crate itself is now
  marked as `#[stable]` and the methods appearing via traits for primitives like
  `char` and `str` are now also marked as stable. Note that the extension traits
  themeselves are marked as unstable as they're imported via the prelude. The
  `try!` macro was also moved from the standard library into libcore to have the
  same interface. Otherwise the functions all have copied stability from the
  standard library now.
* The `#![no_std]` attribute
* `fs::DirBuilder`
* `fs::DirBuilder::new`
* `fs::DirBuilder::recursive`
* `fs::DirBuilder::create`
* `os::unix::fs::DirBuilderExt`
* `os::unix::fs::DirBuilderExt::mode`
* `vec::Drain`
* `vec::Vec::drain`
* `string::Drain`
* `string::String::drain`
* `vec_deque::Drain`
* `vec_deque::VecDeque::drain`
* `collections::hash_map::Drain`
* `collections::hash_map::HashMap::drain`
* `collections::hash_set::Drain`
* `collections::hash_set::HashSet::drain`
* `collections::binary_heap::Drain`
* `collections::binary_heap::BinaryHeap::drain`
* `Vec::extend_from_slice` (renamed from `push_all`)
* `Mutex::get_mut`
* `Mutex::into_inner`
* `RwLock::get_mut`
* `RwLock::into_inner`
* `Iterator::min_by_key` (renamed from `min_by`)
* `Iterator::max_by_key` (renamed from `max_by`)

Deprecated APIs

* `ErrorKind::UnexpectedEOF` (renamed to `UnexpectedEof`)
* `OsString::from_bytes`
* `OsStr::to_cstring`
* `OsStr::to_bytes`
* `fs::walk_dir` and `fs::WalkDir`
* `path::Components::peek`
* `slice::bytes::MutableByteVector`
* `slice::bytes::copy_memory`
* `Vec::push_all` (renamed to `extend_from_slice`)
* `Duration::span`
* `IpAddr`
* `SocketAddr::ip`
* `Read::tee`
* `io::Tee`
* `Write::broadcast`
* `io::Broadcast`
* `Iterator::min_by` (renamed to `min_by_key`)
* `Iterator::max_by` (renamed to `max_by_key`)
* `net::lookup_addr`

New APIs (still unstable)

* `<[T]>::sort_by_key` (added to mirror `min_by_key`)

Closes #27585
Closes #27704
Closes #27707
Closes #27710
Closes #27711
Closes #27727
Closes #27740
Closes #27744
Closes #27799
Closes #27801
cc #27801 (doesn't close as `Chars` is still unstable)
Closes #28968
2015-12-05 15:09:44 -08:00
Christopher Sumnicht
bfb7361540 Uses unwrap instead of pattern matching 2015-12-05 15:01:05 -08:00
Christopher Sumnicht
658f91a0cc Resolved warnings about unused result 2015-12-05 03:17:18 -08:00
Jake Worth
2217cf1af2 Fix typo 2015-12-04 12:32:36 -05:00
bors
a2f58f3644 Auto merge of #30169 - shepmaster:for-loop-into-iterator, r=steveklabnik 2015-12-03 04:34:43 +00:00
Jake Goulding
06e4b709c3 Clarify that a for loop uses IntoIterator 2015-12-02 14:48:10 -05:00
bors
01bd93d310 Auto merge of #30161 - JIghtuse:master, r=steveklabnik 2015-12-02 15:06:37 +00:00
Boris Egorov
63bb3e66ee book: Provide link to tuple structs in type aliases chapter 2015-12-02 10:47:53 +06:00
Steve Klabnik
9823511b2a Rollup merge of #30154 - salty-horse:guessing_panic, r=steveklabnik
The text mentions ```return```, but what's actually happening is a ```panic!```.
2015-12-01 19:01:42 -05:00
Steve Klabnik
63015e8dc0 Rollup merge of #30153 - durka:patch-11, r=steveklabnik
I think this fixes #30137. I basically just repeated some details that were scattered around other places in this document, and emphasized that you probably don't want an `extern crate` or `mod` statement to end up inside a function.
2015-12-01 19:01:42 -05:00
Steve Klabnik
da095eecc7 Rollup merge of #30144 - pjungwir:clarify-semver-rules, r=steveklabnik
The documentation shows this:

    [dependencies]

    rand="0.3.0"

and says it allows any version compatible with 0.3.0, but then it says, "If we wanted to use only 0.3.0 exactly, we could use `=0.3.0`." That is very easy to misunderstand, so hopefully this PR will help others not to be as confused as me. :-)
2015-12-01 19:01:41 -05:00
Steve Klabnik
5e4adf96cf Rollup merge of #30134 - salty-horse:patch-1, r=steveklabnik
random/secret guess -> secret number.
2015-12-01 19:01:41 -05:00
Ori Avtalion
fa0009136d book: Change mention of unused return to panic! 2015-12-02 01:34:08 +02:00
Alex Burka
ca07c2ec21 trpl: explain how to inhibit rustdoc's auto-main
I think this fixes #30137. I basically just repeated some details that were scattered around other places in this document, and emphasized that you probably don't want an `extern crate` or `mod` statement to end up inside a function.
2015-12-01 18:18:19 -05:00
Paul A. Jungwirth
dfa0cbcb3e Clarify ambiguity about how to ask Cargo for a specific version 2015-12-01 10:03:46 -08:00
Ori Avtalion
4a35a732b7 Fix wording in Guessing Game 2015-12-01 11:59:04 +02:00
Daniel Keep
a34274c8ea trpl: additions & fixes for syntax index.
* `const`: Add reference to raw pointers
* Change `expr!(...)` etc. examples to use `ident` instead.
  *Technically*, it should be `pat`, but that's not how it works in
  practice.
* `|`: add reference to closure syntax.
* Closure syntax entry.
* Indexing and slicing entries.
2015-12-01 19:39:52 +11:00
Steve Klabnik
30221eaedf Rollup merge of #30115 - nilcons-contrib:fix-book-stack, r=steveklabnik
The `f` argument will reference the actual value in the `d` box, not the box in the `bar`'s stack frame.

I am just learning Rust, so I don't know how to explain this well, but just from `f`'s type it is clear that it will be a pointer to an `i32`, not a pointer to a pointer. Some `println!("{:p}", ...)`'s can easily confirm this.

I would actually suggest to remove/simplify this part of the example. This is a subtle issue that can easily confuse people at the early stages of familiarizing with the language. (As I got confused by it. :))
2015-11-30 18:02:21 -05:00
Steve Klabnik
5000bd25d9 Rollup merge of #30114 - sourcefrog:doc-casts2, r=Manishearth 2015-11-30 18:02:21 -05:00
Steve Klabnik
e4ab0398ff Rollup merge of #30108 - bhargavrpatel:master, r=steveklabnik 2015-11-30 18:02:21 -05:00
Martin Pool
b00b32cdaa Correct grammar
Thanks @Manishearth
2015-11-30 10:16:36 -08:00
Martin Pool
f183d7a26e Additional text and examples around casting 2015-11-30 08:02:18 -08:00
Mihaly Barasz
7728742a44 Fix pointer value in the 'complex example'
The `f` argument will reference the actual value in the `d` box, not the
box in the `bar`'s stack frame.
2015-11-30 16:51:38 +01:00
Martin Pool
4a63d9fa2c Remove broken explicit coercion example 2015-11-30 07:42:14 -08:00
Bhargav Patel
7a93a3a821 Change verbiage in Stack & Heap page
Made a small change in the sentence. It seemed confusing to read the word "actual" twice in the sentence; I removed it completely.
2015-11-29 22:18:13 -05:00
bors
15ad1d199b Auto merge of #30088 - sourcefrog:doc-casts, r=steveklabnik
Based on the description in 219eca11b0/src/librustc_typeck/check/cast.rs (L11) and https://doc.rust-lang.org/nightly/nomicon/casts.html
2015-11-29 21:10:36 +00:00
Martin Pool
797d5433c9 Rephrased description of casting 2015-11-29 12:00:07 -08:00
Martin Pool
34e6995aa3 Add information about numeric casts, from the nomicon 2015-11-29 11:54:29 -08:00
bors
3db9bee903 Auto merge of #30059 - androm3da:master, r=bluss 2015-11-29 16:30:15 +00:00
bors
0b3424321c Auto merge of #29651 - tshepang:misc, r=steveklabnik 2015-11-28 18:09:07 +00:00
xd1le
fb5f3faa6b doc(book/ffi): remove duplicate link reference `[libc]' 2015-11-28 16:58:39 +11:00
Martin Pool
d6952121e0 Attempted documentation of coercions
Trying to summarize here only the cases that will make sense at the
level of the rust book
2015-11-27 17:35:12 -08:00
Martin Pool
f34e6ff084 Copy in some documentation about which casts are legal 2015-11-27 17:15:05 -08:00
ebadf
797a0bd1c1 Shifted focus of while-let example per review. 2015-11-27 10:23:58 -06:00
Ariel Ben-Yehuda
1430a35000 move librustc/plugin to librustc_plugin
this is a [breaking-change] to all plugin authors - sorry
2015-11-26 18:22:39 +02:00
ebadf
465a5cb194 Corrections to the while-let example per review. 2015-11-25 20:05:45 -06:00
bors
1805bba399 Auto merge of #30053 - JIghtuse:master, r=steveklabnik 2015-11-26 00:20:37 +00:00
Tshepang Lekhonkhobe
05dde0d325 book: miscellaneous improvements to "dining philosophers" example 2015-11-26 00:21:23 +02:00
androm3da
b1c5c26c68 Updated "while let" example. 2015-11-25 12:46:35 -06:00
Boris Egorov
b892b5a690 trpl: Fix example logic in error handling chapter 2015-11-25 14:07:43 +06:00
Matthias Bussonnier
5aa45071db Add cargo instructions for dinning_philosopher project
At this point of the book, reader have likely use `cargo new --bin`,
likely 2 times, once if they are lazy. This remind them of the `cargo`
syntax.

I was myself unsure whether it was `cargo create`, `cargo new`, and
whether it would initialize in current working directory or needed a
target.
2015-11-24 21:58:18 +01:00
Alex Gaynor
563adbbea5 fixed inconsistent indentation in book example
looks like a case of mixed tabs and spaces
2015-11-24 01:24:27 -05:00
Philipp Matthias Schäfer
e4e03bc74a wording: results don't fail 2015-11-23 09:39:58 +01:00
Matthias Kauer
e37cd6d5fd change link on book front page trpl -> book 2015-11-21 07:49:38 +08:00
Florian Hahn
c53722daae Remove slice pattern from compiler plugin example
closes #29930
2015-11-20 14:31:04 +01:00
Steve Klabnik
024aa9a345 src/doc/trpl -> src/doc/book
The book was located under 'src/doc/trpl' because originally, it was
going to be hosted under that URL. Late in the game, before 1.0, we
decided that /book was a better one, so we changed the output, but
not the input. This causes confusion for no good reason. So we'll change
the source directory to look like the output directory, like for every
other thing in src/doc.
2015-11-19 11:30:18 -05:00