Commit Graph

1657 Commits

Author SHA1 Message Date
Barosl LEE
a79f1921a9 Rollup merge of #21375 - petrochenkov:ssbsl, r=alexcrichton
After PR #19766 added implicit coersions `*mut T -> *const T`, the explicit casts can be removed.
(The number of such casts turned out to be relatively small).
2015-01-21 02:16:50 +09:00
Barosl LEE
75efb22808 Rollup merge of #21359 - WiSaGaN:bugfix/fix_marker, r=alexcrichton
From std::markers to std::marker.
2015-01-21 02:16:49 +09:00
Barosl LEE
33ea011574 Rollup merge of #21358 - glacjay:patch-2, r=alexcrichton 2015-01-21 02:16:49 +09:00
Barosl LEE
567bf6ca8c Rollup merge of #21357 - kimroen:patch-1, r=sanxiyn
Having both "Right now" and "at the moment" in the same statement is redundant.
2015-01-21 02:16:49 +09:00
Barosl LEE
4419fa39c2 Rollup merge of #21345 - glacjay:patch-1, r=alexcrichton
The reference should be `x`, not `FOO` itself.
2015-01-21 02:16:48 +09:00
Barosl LEE
b3f6e82beb Rollup merge of #21048 - aroben:patch-1, r=steveklabnik
Now both the enum values and the prose describing them mention the values in the same order.
2015-01-21 02:16:47 +09:00
Barosl LEE
d8a892303c Rollup merge of #21294 - alfie:typo, r=steveklabnik
Wrong verb.
2015-01-21 02:16:46 +09:00
Barosl LEE
b7afe5ec27 Rollup merge of #21355 - alfie:suffix, r=steveklabnik
More [u]int => [i|u]size and [i|u] => [i|u]s changes
2015-01-21 02:16:46 +09:00
Barosl LEE
9db869b348 Rollup merge of #21280 - timparenti:old-guide-stub-grammar, r=alexcrichton
This removes the extra "the" from the phrase "the the Rust Programming Language book", which isn't particularly grammatical, in stub documents introduced in #20802 to direct users from the old guides to the corresponding sections of the book.
2015-01-21 02:16:45 +09:00
Barosl LEE
1d8b917811 Rollup merge of #20998 - estsauver:20984, r=steveklabnik
There are a large number of places that incorrectly refer
to deriving in comments, instead of derives.

If someone could look at src/etc/generate-deriving-span-tests.py,
I'm not sure how those tests were passing before/if they were.
2015-01-21 02:16:45 +09:00
Steve Klabnik
e361b38888 Small fix in TRPL 3.9
Multiple people have asked me if this is a reference to Hacker News, and
I _certainly_ don't want to give them that impression.
2015-01-20 11:36:29 -05:00
bors
a0f86de497 Auto merge of #19353 - icorderi:docs/grammar, r=steveklabnik
Original [issue](https://github.com/rust-lang/rust/issues/19278) that inspired this patch.

The [reference.md] has evolved past simple grammatical constructs, and it serves a different purpose. 
The intent for the proposed _grammar.md_ is to hold **only** the official reference for the language grammar. This document would keep track of grammatical changes to the language over time, facilitate discussions over proposed changes to the existing grammar, and serve as basis for building parsers by third-parties (IDE's, GitHub linguist, CodeMirror, etc.). 

The current state of the PR contains all the grammars that were available in [reference.md] and nothing else. 
There are still a lot of missing pieces that weren't available. The following are just a few of the definitions missing:
- [Functions](https://github.com/icorderi/rust/blob/docs/grammar/src/doc/grammar.md#functions)
- [Structures](https://github.com/icorderi/rust/blob/docs/grammar/src/doc/grammar.md#structures)
- [Traits](https://github.com/icorderi/rust/blob/docs/grammar/src/doc/grammar.md#traits)
- [Implementations](https://github.com/icorderi/rust/blob/docs/grammar/src/doc/grammar.md#implementations)
- [Operators](https://github.com/icorderi/rust/blob/docs/grammar/src/doc/grammar.md#unary-operator-expressions)
- [Statements](https://github.com/icorderi/rust/blob/docs/grammar/src/doc/grammar.md#statements)
- [Expressions](https://github.com/icorderi/rust/blob/docs/grammar/src/doc/grammar.md#expressions)

[reference.md]: https://github.com/rust-lang/rust/blob/master/src/doc/reference.md

We need help from people familiar with those grammatical constructs to fill in the missing pieces.
2015-01-20 16:05:33 +00:00
bors
e375a892f1 Auto merge of #21257 - alexcrichton:issue-20064, r=pnkfelix
These two attributes are used to change the entry point into a Rust program, but
for now they're being put behind feature gates until we have a chance to think
about them a little more. The #[start] attribute specifically may have its
signature changed.

This is a breaking change to due the usage of these attributes generating errors
by default now. If your crate is using these attributes, add this to your crate
root:

    #![feature(start)] // if you're using the #[start] attribute
    #![feature(main)]  // if you're using the #[main] attribute

cc #20064
2015-01-20 02:23:49 +00:00
Logan Chien
8c3d914ca4 Change the title of if statement in trpl book. 2015-01-20 00:41:59 +08:00
Matt Roche
9293607f8f quick formatting fix 2015-01-18 15:28:12 -05:00
Matt Roche
4347cbbd66 Error message fixes and removed explicit returns in example code 2015-01-18 15:22:16 -05:00
Wangshan Lu
e28da7ad44 Fix std::marker.
From std::markers to std::marker.
2015-01-18 22:17:44 +08:00
Jay True
ab73d455fe fix formatting 2015-01-18 21:23:22 +08:00
Alfie John
5431727b6e docs: replacing more deprecated integer suffixes 2015-01-18 12:43:12 +00:00
Kim Røen
17ffe51aa3 Remove redundant "Right now"
Having both "Right now" and "at the moment" in the same statement is redundant.
2015-01-18 13:24:13 +01:00
Alfie John
66003c06a1 docs: replace deprecated integer suffixes from examples 2015-01-18 11:49:37 +00:00
Jay True
2b6efbf92d fix an error about the static lifetime
The reference should be `x`, not `FOO` itself.
2015-01-18 10:58:55 +08:00
Alfie John
8da284a045 docs: typo 2015-01-17 23:31:13 +00:00
Steve Klabnik
6553c0f5eb Fix more rollup problems 2015-01-17 15:25:42 -05:00
Earl St Sauver
6ab95bdd62 s/deriving/derives in Comments/Docs
There are a large number of places that incorrectly refer
to deriving in comments, instead of derives.

Fixes #20984
2015-01-17 11:08:02 -08:00
Alfie John
2c64023e3e docs: grammar fix 2015-01-17 10:51:53 -05:00
Nick Howell
0c26524134 doc: Remove extra whitespace in the middle of lines to provide alignment
"Idiomatic code should not use extra whitespace in the middle of a line to provide alignment."
http://aturon.github.io/style/whitespace.html

I realize the linked page still needs an RFC, but the docs should be written in accordance with the guidelines nevertheless.
2015-01-17 10:51:53 -05:00
Steve Klabnik
433ea0bd55 Add C -> Rust example to FFI chapter of the book.
Fixes #10489.
2015-01-17 10:51:07 -05:00
Steve Klabnik
d5091c9cc9 Fix up titles of TRPL chapters 2015-01-17 10:51:07 -05:00
Ms2ger
0109ceaf82 Fix typo. 2015-01-17 10:51:07 -05:00
Steve Klabnik
899ffcf62a Intpocalypse, book edition.
Fix all usage of int/uint/i/u in the book.
2015-01-17 10:51:07 -05:00
Steve Klabnik
078bd498b9 Evaluate # fn in docs
I searched for times when we were hiding functions with # in the documentation,
and fixed them to not use it unless neccesary.

I also made random improvements whenever I changed something. For example,
I changed Example to Examples, for consistency.

Fixes #13423
2015-01-17 10:49:49 -05:00
Steve Klabnik
a03701defa Remove segmented stack info from the FFI chapter of the book.
Fixes #20071.
2015-01-17 10:49:49 -05:00
Andrew Barchuk
5f1ba93ad2 Replace obsolete constructions in into examples
Replace deprecated integer suffixes. Remove integer type notations
altogether where possible. Replace uses of deprecated `range()`
function with range notation.
2015-01-17 10:49:49 -05:00
Andrew Barchuk
f77208972a Remove Thread::detach() call from intro example
The mentioned method are no longer part of Thread. Spawned threads are
detached by default as of now.
2015-01-17 10:49:49 -05:00
Andrew Barchuk
9ed27df180 Fix intro concurrency examples compilation warns
* Use range notation instead of deprecated `range()`

* Remove deprecated `u` integer suffixes used in ranges

* Replace deprecated `i` integer suffixes with `is` for vector numbers

`Thread::spawn()` still gives "use of unstable item" warning which I
hadn't found a way to fix.
2015-01-17 10:49:49 -05:00
Steve Klabnik
a2e277edf4 Add enum discriminats to the reference.
Fixes #15755
2015-01-17 10:49:49 -05:00
we
812ce6c190 Remove unnecessary explicit conversions to *const T 2015-01-17 07:34:10 +03:00
Tim Parenti
fbcc34f483 Grammar tweak to old guide stub documents.
Removes extra "the" from the phrase "the the Rust Programming Language
book", which isn't particularly grammatical.
2015-01-16 22:25:22 -05:00
Alex Crichton
38cb91e66c syntax: Feature gate #[start] and #[main]
These two attributes are used to change the entry point into a Rust program, but
for now they're being put behind feature gates until we have a chance to think
about them a little more. The #[start] attribute specifically may have its
signature changed.

This is a breaking change to due the usage of these attributes generating errors
by default now. If your crate is using these attributes, add this to your crate
root:

    #![feature(start)] // if you're using the #[start] attribute
    #![feature(main)]  // if you're using the #[main] attribute

cc #20064
2015-01-16 14:59:03 -08:00
bors
f3d71be65c Merge pull request #21214 from sleepynate/spacing-in-book
Fix commented graphs in src/doc/trpl/ownership.md

Reviewed-by: huonw
2015-01-16 06:31:03 +00:00
nathan dotz
3626a308f3 Fix commented graphs in src/doc/trpl/ownership.md 2015-01-15 18:15:18 -05:00
Alex Crichton
5f32992b31 rollup merge of #21206: steveklabnik/expressions
Suggested here: http://stackoverflow.com/a/27962076/24817
2015-01-15 14:12:08 -08:00
Alex Crichton
7be39b0c03 rollup merge of #21164: richo/doc/servo-link
Tiny docfix to make the urls point to the canonical endpoint.
2015-01-15 14:11:59 -08:00
Alex Crichton
8c81800170 rollup merge of #21148: bombless/patch-1 2015-01-15 14:11:55 -08:00
Alex Crichton
b86a84867a rollup merge of #21141: tcard/master
Really small correction.

This anti-example in the Closures section is supposed to fail because of a borrow, but it was failing at the type inference because of insufficient type information.

This makes it fail for the expected reason.
2015-01-15 14:11:54 -08:00
Alex Crichton
7e2ef2cbc6 rollup merge of #21133: iKevinY/mobile-rustdoc
Just a couple of tweaks to improve the appearance of pages like [The Rust Reference](http://doc.rust-lang.org/reference.html) on mobile to advance the progress of #20850. Changing the viewport wasn't quite good enough to make it mobile-friendly, as large tables forced the page to become wider than the screen width. Using `overflow-x`, tables that are too large become horizontally scrollable instead of forcing the *entire page* to become horizontally scrollable.

Also, there was at least one case where an extremely long piece of inline code was wider than the actual width of the screen (`std::ptr::copy_nonoverlapping_memory`), so I changed `word-wrap` to allow inline code to break in the middle of words instead of only text within `pre` tags.

This isn't a change included in this PR, but rather something up for discussion. Currently, code blocks that contain long lines simply wrap onto the next line. What if rather than wrapping, they were horizontally scrollable instead? I'm not sure what the general preference is regarding this.

r? @steveklabnik
2015-01-15 14:11:53 -08:00
Alex Crichton
68c3f8c0c3 rollup merge of #21124: steveklabnik/fix_redirect
Why redirect Tutorial -> Guide -> Book when you can just Tutorial -> Book?

Suggested here: http://www.reddit.com/r/rust/comments/2schav/is_it_possible_to_automatically_redirect/
2015-01-15 14:11:52 -08:00
Alex Crichton
65b286d834 rollup merge of #21109: steveklabnik/gh17224
Fixes #17224
2015-01-15 14:11:48 -08:00
Alex Crichton
d7009e6f31 rollup merge of #21105: csouth3/kill-box-import
Closes #21093.
r? @steveklabnik
cc @alexcrichton

I tested with `make check-docs` and this passes that.  Hope that was enough.
2015-01-15 14:11:46 -08:00
Alex Crichton
46a490f42b rollup merge of #21075: iKevinY/intro-changes
- Make punctuation/formatting consistent with the changes made to *The Rust Programming Language* in #20782.
- Use title casing for "Safety and Speed" section.
- Reword some phrases to improve clarity.
2015-01-15 14:11:41 -08:00
Alex Crichton
2890266b27 rollup merge of #21041: steveklabnik/gh17554
Fixes #17554
2015-01-15 14:11:37 -08:00
Alex Crichton
7aa7707af9 rollup merge of #21040: steveklabnik/gh20037
Fixes #20037.
2015-01-15 14:11:37 -08:00
Alex Crichton
9d6e1f921b rollup merge of #21038: steveklabnik/gh20471
Fixes #20471.
2015-01-15 14:11:36 -08:00
Alex Crichton
21effeb611 rollup merge of #21031: steveklabnik/gh19067
Fixes #19067
2015-01-15 14:11:35 -08:00
Alex Crichton
8d0b937964 rollup merge of #21029: steveklabnik/gh19924
Fixes #19924
2015-01-15 14:11:35 -08:00
Alex Crichton
b8751b8410 rollup merge of #21028: steveklabnik/gh17368
Fixes #17368
2015-01-15 14:11:35 -08:00
Alex Crichton
cfbf313282 rollup merge of #21023: steveklabnik/gh20840
Fixes #20840
2015-01-15 14:11:34 -08:00
Alex Crichton
6155ce53b6 rollup merge of #21020: steveklabnik/gh20844
Thank you @bluss for the suggested implementation.

Fixes #20844
2015-01-15 14:11:34 -08:00
Alex Crichton
e06863ef64 rollup merge of #21015: steveklabnik/gh20852
Fixes #20852
2015-01-15 14:11:33 -08:00
Alex Crichton
ff9ae8815b rollup merge of #21014: steveklabnik/gh20876
Fixes #20876
2015-01-15 14:11:33 -08:00
Alex Crichton
c6a9877039 rollup merge of #21013: steveklabnik/gh20914
Fixes #20914
2015-01-15 14:11:33 -08:00
Alex Crichton
73660a11c9 rollup merge of #21011: steveklabnik/gh20993
Fixes #20993
2015-01-15 14:11:32 -08:00
Alex Crichton
dbbe506c10 rollup merge of #21001: camjackson/master
With the code samples as they are, the compiler says:
`feature has been added to Rust, directive not necessary`
2015-01-15 14:11:31 -08:00
Alex Crichton
c478c6ac91 rollup merge of #20988: ciphergoth/task-to-thread
"Tasks" are no longer a thing in Rust; refer to threads instead. Work is still needed on [threads.md](threads.md).
2015-01-15 14:11:30 -08:00
Alex Crichton
37d20f256a rollup merge of #20986: alkor/doc-fixes
Corrections in TRPL macros guide
2015-01-15 14:11:29 -08:00
Alex Crichton
eb94c357d0 rollup merge of #20929: laurilehmijoki/master
The sentence is easier to read once we move the word "again" away from the last position.
2015-01-15 14:11:28 -08:00
Alex Crichton
d3c5cf1b35 rollup merge of #20892: CarVac/master
`uint` was recently deprecated, so in following the use of `i32` in the first parts, replace all copies of `uint` with `u32`.
2015-01-15 14:11:28 -08:00
Alex Crichton
855c3e5af5 rollup merge of #20632: gchp/reference
I noticed that the `deriving` keyword is deprecated and that `derive` is the replacement. This updates the reference (and other docs) to remove the use `deriving`.
2015-01-15 14:11:27 -08:00
Steve Klabnik
fd603cd263 Clarify function return style.
Suggested here: http://stackoverflow.com/a/27962076/24817
2015-01-15 14:47:21 -05:00
Steve Klabnik
462dd64716 Add explanation of main to rustdoc docs
Fixes #17554
2015-01-15 09:58:58 -05:00
NODA, Kai
195fd9a2b4 reference.md: change "mod" to "self" in "use" declaration.
This should have been done together with 56dcbd17fd
for rust-lang/rust#20361

Signed-off-by: NODA, Kai <nodakai@gmail.com>
2015-01-15 13:57:02 +08:00
bors
0c96037ec1 auto merge of #20980 : richo/rust/final-power, r=alexcrichton
Originally, this was going to be discussed and revisted, however I've been working on this for months, and a rebase on top of master was about 1 flight's worth of work so I just went ahead and did it.

This gets you as far as being able to target powerpc with, eg:

    LD_LIBRARY_PATH=./x86_64-unknown-linux-gnu/stage2/lib/ x86_64-unknown-linux-gnu/stage2/bin/rustc -C linker=powerpc-linux-gnu-gcc --target powerpc-unknown-linux-gnu hello.rs

Would really love to get this out before 1.0. r? @alexcrichton
2015-01-15 05:12:30 +00:00
Richo Healey
5e646755f4 doc: fix links to servo 2015-01-14 16:13:58 -08:00
York Xiang
bf899e997e fix wrong link 2015-01-15 01:11:28 +08:00
Toni Cárdenas
428da78de1 TRPL: Anti-example failing for the wrong reason.
Really small correction.

This anti-example in the Closures section is supposed to fail because of a borrow, but it was failing at the type inference because of insufficient type information.

This makes it fail for the expected reason.
2015-01-14 15:24:41 +01:00
Kevin Yap
5a16ceb291 Improve Rust Documentation & Reference on mobile
- Tables that are too wide for the screen scroll horizontally.
- Inline code that would force the page to become wider than the width
  of the screen is broken in the middle of the word.
2015-01-13 22:39:52 -08:00
Steve Klabnik
40219249cf Re-direct to the right place.
Why redirect Tutorial -> Guide -> Book when you can just Tutorial -> Book?

Suggested here: http://www.reddit.com/r/rust/comments/2schav/is_it_possible_to_automatically_redirect/
2015-01-13 21:11:47 -05:00
Steve Klabnik
ad0ce88c6c Provide example of generic inverse()
Fixes #17224
2015-01-13 15:42:38 -05:00
Chase Southwood
07f723f19b Remove unneeded box import in examples 2015-01-13 12:56:10 -06:00
Greg Chapple
4b14f67df3 Replace usage of deriving with derive in docs 2015-01-13 13:57:09 +00:00
JONNALAGADDA Srinivas
ac110df0ff Expand the section on closures in TRPL.
* Include an illustration of a function that accepts two closures.
2015-01-13 10:14:18 +05:30
Kevin Yap
31ac1fb93d Various changes to Rust Introduction
- Make punctuation/formatting consistent with the changes made to "The
  Rust Programming Language" in #20782.
- Use title casing for "Safety and Speed" section.
- Reword some phrases to improve clarity.
2015-01-12 19:25:17 -08:00
Adam Roben
1c0acb9d91 Match prose with code when discussing Ordering values
Now both the enum values and the prose describing them mention the values in the same order.
2015-01-12 16:18:02 -05:00
Steve Klabnik
16a8c4d238 Don't use 'synonym' with regards to newtypes
Fixes #20037.
2015-01-12 15:30:11 -05:00
Steve Klabnik
2297b0cb00 Elaborate on destructuring let
Fixes #20471.
2015-01-12 15:28:09 -05:00
Steve Klabnik
e485d297ea Improve example in the intro.
Thank you @bluss for the suggested implementation.

Fixes #20844
2015-01-12 15:14:17 -05:00
Steve Klabnik
b704983ee9 Improve the ownership guide a tad
Fixes #19924
2015-01-12 15:12:51 -05:00
Steve Klabnik
db7de969cf Improve clarity of paragraph in the pointer guide
Fixes #19067
2015-01-12 13:57:09 -05:00
Steve Klabnik
425f449fda Remove PDF link on 404 page
Fixes #17368
2015-01-12 13:16:07 -05:00
Lauri Lehmijoki
eabf208285 Ease parsing of an English sentence 2015-01-12 19:42:52 +02:00
Steve Klabnik
95f9e309f7 Clean up wording around uninitialized values.
Fixes #20840
2015-01-12 11:49:54 -05:00
Steve Klabnik
be407180d7 Link to sections in the book's README.md
Fixes #20852
2015-01-12 10:59:21 -05:00
Steve Klabnik
285277dd80 Clean up unary operators in the reference
Fixes #20876
2015-01-12 10:52:34 -05:00
Steve Klabnik
c403794310 Small fix in the book
Fixes #20914
2015-01-12 10:47:56 -05:00
Steve Klabnik
ba9e223c57 Small grammar fix in the book
Fixes #20993
2015-01-12 10:45:32 -05:00
Alexander Korolkov
a3d87fa448 Fix text in TRPL macros guide to match the example
Also, update description of macro invocation syntax:
after https://github.com/rust-lang/rust/pull/20563 there is
a number of additional limitations on macro syntax.
2015-01-12 17:39:18 +03:00
Cam Jackson
e1ff480e43 Remove usage and reference of feature(globs) from the book 2015-01-12 23:06:03 +11:00
Paul Crowley
8eba032f52 Purge references to Rust tasks from TRPL. 2015-01-12 09:15:33 +00:00
Richo Healey
194ed4f5a0 powerpc: Document the existance of powerpc 2015-01-11 21:14:30 -08:00
bors
0aec4db1c0 auto merge of #20889 : Manishearth/rust/trait-error, r=nikomatsakis
fixes #20783

r? @nikomatsakis
2015-01-12 04:45:18 +00:00
CarVac
9302dc5d9e Replace uint with u32 in trpl/guessing-game.md
uint was recently deprecated, so in following the use of i32 at first,
replace all references to uint with u32.

Also change literals from e.g. 100u to 100, so that they are no longer
usize.
2015-01-11 21:00:42 -05:00
bors
8d88ac12c1 Merge pull request #20966 from Valloric/ownership-fix
Fixing integer usage in ownership doc

Reviewed-by: steveklabnik
2015-01-12 00:21:31 +00:00
bors
8c824c5b65 Merge pull request #20956 from angst7/docfixes1
replace deprecated uint references with u32 in trpl/looping.md

Reviewed-by: Gankro
2015-01-12 00:21:31 +00:00
bors
352c81bb4b Merge pull request #20933 from gifnksm/patch-1
TRPL: `cargo build` doesn't run executables

Reviewed-by: alexcrichton
2015-01-12 00:21:30 +00:00
bors
f72c719b71 Merge pull request #20930 from charmeleon/master
Switching out range(0,10) example to 0..10. Tests fine

Reviewed-by: brson
2015-01-12 00:21:29 +00:00
bors
268e2bff97 Merge pull request #20926 from xnil/patch-1
Hepburn romanization of さようなら

Reviewed-by: huonw
2015-01-12 00:21:29 +00:00
bors
668325190d Merge pull request #20902 from stevencrockett/master
reference: Small grammar fixes for correctness/consistency and updates for language changes.

Reviewed-by: steveklabnik
2015-01-12 00:21:26 +00:00
bors
10305fcfdc Merge pull request #20898 from sebras/trpl
Cosmetic updates to TRPL text

Reviewed-by: steveklabnik
2015-01-12 00:21:25 +00:00
bors
50b0f5c550 Merge pull request #20895 from adregan/master
Updates fixed-size suffix in 30 minute introduction

Reviewed-by: steveklabnik
2015-01-12 00:21:25 +00:00
bors
654877c75f Merge pull request #20883 from apreiml/master
Update 7.2.9 Array expressions

Reviewed-by: steveklabnik
2015-01-12 00:21:24 +00:00
bors
3e215200f6 Merge pull request #20877 from killercup/patch-4
Error Guide: Add Line Break to Robert Burns Quote

Reviewed-by: steveklabnik
2015-01-12 00:21:23 +00:00
bors
8e0bb03841 Merge pull request #20820 from sellibitze/closure-doc
Closure documentation: Fix boxed closure left-over

Reviewed-by: steveklabnik
2015-01-12 00:21:23 +00:00
Strahinja Val Markovic
d355da6e6f Fixing integer usage in ownership doc
`int` doesn't exist anymore. Usage of its equivalent `isize` is
discouraged since its size is platform-dependent. `i32` is used instead
in the examples. Also, integer suffixes aren't needed in the examples
anymore so we can just write `5` instead of `5i`.
2015-01-11 12:42:03 -08:00
Manish Goregaokar
02d0a8bbcf docs 2015-01-12 01:44:28 +05:30
Matt Roche
c989bd4ab7 replace deprecated uint references with u32
Replaced uint references with u32 to prevent compiler warnings.
2015-01-11 13:55:23 -05:00
NAKASHIMA, Makoto
add9225038 cargo build doesn't run the executables 2015-01-11 17:40:42 +09:00
Erick Rivas
8e42f1e6c3 Switching out range(0,10) example to 0..10. Tests fine 2015-01-11 02:15:29 -06:00
Carter Hinsley
da15417b9d Correct romanization of さようなら 2015-01-11 01:53:34 -05:00
Steven Crockett
e7e308f447 reference: Made a number of small gramatical fixes changes for correctness/consistency. Small updates to text and code where the language has since changed. 2015-01-10 23:58:38 +00:00
Sebastian Rasmussen
64b1a0da98 Cosmetic updates to TRPL text
* Make messages match rustc's error messages
* Use correct function name in example
* Rewording to match previously presented material
2015-01-10 23:11:26 +01:00
Duncan Regan
c871773f32 Updates fixed-size suffix
Compiler gives the following warning:
`warning: the `u` suffix on integers is deprecated; use `us` or one of the fixed-sized suffixes`
And also the errror:
`error: mismatched types: expected `u64`, found `usize` (expected u64, found usize)`

Changing the suffix to `u64` results in a successful `cargo run` outputting the desired `Versions compared successfully!`
2015-01-10 16:19:11 -05:00
Armin Preiml
e4a2de7ed1 Update 7.2.9 Array expressions 2015-01-10 19:08:07 +01:00
Pascal Hertleif
6ff5ab1d01 Add Line Break to Robert Burns Quote 2015-01-10 15:47:52 +01:00
bors
3b03c20c6d Merge pull request #20851 from englishm/patch-1
Docs: Should be `assert_eq!` not `assert_eq`

Reviewed-by: sfackler
2015-01-10 14:15:12 +00:00
bors
52e5ae786d Merge pull request #20849 from scode/scode/fix-book-typo
Fix typo in documentation.

Reviewed-by: sfackler
2015-01-10 14:15:12 +00:00
bors
1ca581d440 Merge pull request #20833 from nstoddard/master
Fix a couple wording issues in TRPL book

Reviewed-by: Gankro
2015-01-10 14:15:11 +00:00
bors
507d9575bd Merge pull request #20819 from GuillaumeGomez/master
Fixes typo

Reviewed-by: alexcrichton
2015-01-10 14:15:11 +00:00
bors
2bb9b3f0be Merge pull request #20818 from rgs1/fix-guide
Remove extra dangling period

Reviewed-by: alexcrichton
2015-01-10 14:15:10 +00:00
bors
e912f13a94 Merge pull request #20817 from killercup/patch-2
Update Conclusion of The Rust Programming Language

Reviewed-by: steveklabnik
2015-01-10 14:15:10 +00:00
Mike English
68ecfe0b61 Should be assert_eq! not assert_eq 2015-01-10 01:52:51 -05:00
Peter Schuller
d873aeeb92 Fix typo in documentation. 2015-01-09 22:35:18 -08:00
bors
391e0106ef auto merge of #20802 : huonw/rust/book-css, r=steveklabnik
There is likely to be new users with the alpha release, and there are a lot of documents on the internet (StackOverflow, reddit, blogs) that refer to these guides, so emitting a more helpful error than "404" is nice. Hence, I've temporarily reinstated stub documents for each of the old guides, referring to as relevant a part of the book as possible.

Also, rustbook was silently ignoring some errors, which lead to an inconsistency with directory creation/file writing. This meant the CSS file was not being written if no `doc` directory existed in the users build dir (e.g. the buildbots). This should mean that the CSS will appear automatically in later builds.
2015-01-10 05:55:07 +00:00
bors
9205d74fe0 auto merge of #20782 : iKevinY/rust/trpl-formatting, r=steveklabnik
Here's my PR for the changes discussed in #19823. I decided to leave `_these_` types of italics the way there were because it differentiates the use of italics for emphasis from `*key term*` italics. Otherwise, bolded terms have been changed to italics, and single and double quotes have been changed appropriately, depending on their context (my judgement may not be the best, though).

r? @steveklabnik (congratulations on #19897 being finalized and merged, by the way!)
2015-01-10 03:45:11 +00:00
Nathan Stoddard
2a29296ea3 Fix a couple wording issues in trpl book 2015-01-09 17:21:30 -05:00
Sebastian Gesemann
d4b70fe6c6 documentation: Fix boxed closure left-over and add some words on why we use a type parameter for closures. 2015-01-09 20:10:14 +01:00
Guillaume Gomez
ba462b88e9 Update advanced.md 2015-01-09 20:08:30 +01:00
Keegan McAllister
a96a8b2b25 Update macro scope intro 2015-01-09 11:06:17 -08:00
Raul Gutierrez S
28723048a5 Remove extra dangling period
Signed-off-by: Raul Gutierrez S <rgs@itevenworks.net>
2015-01-09 10:54:00 -08:00
Pascal Hertleif
1a602c1779 Update Conclusion of The Rust Programming Language
This replaces a obsolete conclusion (based on the original, basic Guide) with
links to further documentation sources.
2015-01-09 19:48:27 +01:00
Huon Wilson
4247a30bdd Add stub deprecation files for each of the old guides.
There are hundreds of stackoverflow answers, reddit posts and blog
articles that link to these documents, so it's a nicer user experience
if they're not plain 404s.

The intention is to let these hang around only for relatively short
while. The alpha is likely to bring in many new users and they will be
reading the documents mentioned above.
2015-01-09 19:47:09 +11:00
Kevin Yap
8f61814641 Standardize punctuation & formatting of TRPL
This commit is an attempt to standardize the use of punctuation and
formatting in "The Rust Programming Language" as discussed in #19823.

- Convert bold text to italicized textcwhen referring to terminology.
- Convert single-quoted text to italicized or double-quoted text,
  depending on context.
- Use double quotes only in the case of scare quotes or quotations.
2015-01-08 17:15:26 -08:00
Alex Crichton
7541f82fab Fix dead links in the guide and reorganize 2015-01-08 10:27:03 -08:00
Steve Klabnik
16a6ebd1f6 "The Rust Programming Language"
This pulls all of our long-form documentation into a single document,
nicknamed "the book" and formally titled "The Rust Programming
Language."

A few things motivated this change:

* People knew of The Guide, but not the individual Guides. This merges
  them together, helping discoverability.
* You can get all of Rust's longform documentation in one place, which
  is nice.
* We now have rustbook in-tree, which can generate this kind of
  documentation. While its style is basic, the general idea is much
  better: a table of contents on the left-hand side.
* Rather than a almost 10,000-line guide.md, there are now smaller files
  per section.
2015-01-08 12:02:11 -05:00
Alex Crichton
0dc48b47a8 Test fixes and rebase conflicts 2015-01-07 19:27:27 -08:00
Alex Crichton
5d342acba2 rollup merge of #20709: thiagopnts/ownership-guide-typo
I was reading the ownership guide and found this small typo :bowtie:
2015-01-07 17:18:05 -08:00
Alex Crichton
cedaf4696f rollup merge of #20695: frewsxcv/patch-2
This should be rollup
2015-01-07 17:17:29 -08:00
Alex Crichton
5b1a285b73 rollup merge of #20693: EchoAce/intro-oboe
Issue #20686, proposed by nstoddard.
2015-01-07 17:17:27 -08:00
Thiago Pontes
9fcf097648 fix typo in the ownership guide 2015-01-07 18:42:15 -02:00
bors
c0216c8945 Merge pull request #20674 from jbcrail/fix-misspelled-comments
Fix misspelled comments.

Reviewed-by: steveklabnik
2015-01-07 15:35:30 +00:00
bors
7377c0b1a9 Merge pull request #20672 from vrana/patch-3
Fix a typo in guide

Reviewed-by: steveklabnik
2015-01-07 15:35:28 +00:00
bors
5064c8d9dc Merge pull request #20670 from vrana/patch-2
Fix type annotation in guide

Reviewed-by: steveklabnik
2015-01-07 15:35:27 +00:00
bors
2e2a2cdb59 Merge pull request #20669 from vrana/patch-1
Use a better word in the guide

Reviewed-by: steveklabnik
2015-01-07 15:35:26 +00:00
Corey Farwell
4f801c433f Bump copyright year in doc footer 2015-01-07 09:23:31 -05:00
FakeKane
da83e4d98a oboe removed 2015-01-07 09:09:37 -05:00
bors
a3a16e9610 auto merge of #20620 : brson/rust/relnotes, r=huonw
A whole lot happened this cycle. I tried to highlight the best stuff. Please review and note important stuff I'm missing or foolish mistakes.
2015-01-07 08:32:46 +00:00
Alex Crichton
a64000820f More test fixes 2015-01-06 21:26:48 -08:00
Joseph Crail
e3b7fedc20 Fix misspelled comments.
I cleaned up comments prior to the 1.0 alpha release.
2015-01-06 20:53:18 -05:00
Jakub Vrána
83d01cc5ae Fix a typo in guide 2015-01-06 16:53:45 -08:00
Brian Anderson
93190b364b Bump some version numbers 2015-01-06 15:58:23 -08:00
Alex Crichton
26cd8eae48 rollup merge of #20563: cmr/macro-input-future-proofing 2015-01-06 15:49:15 -08:00
Alex Crichton
36f5d122b8 rollup merge of #20615: aturon/stab-2-thread
This commit takes a first pass at stabilizing `std::thread`:

* It removes the `detach` method in favor of two constructors -- `spawn`
  for detached threads, `scoped` for "scoped" (i.e., must-join)
  threads. This addresses some of the surprise/frustrating debug
  sessions with the previous API, in which `spawn` produced a guard that
  on destruction joined the thread (unless `detach` was called).

  The reason to have the division in part is that `Send` will soon not
  imply `'static`, which means that `scoped` thread creation can take a
  closure over *shared stack data* of the parent thread. On the other
  hand, this means that the parent must not pop the relevant stack
  frames while the child thread is running. The `JoinGuard` is used to
  prevent this from happening by joining on drop (if you have not
  already explicitly `join`ed.) The APIs around `scoped` are
  future-proofed for the `Send` changes by taking an additional lifetime
  parameter. With the current definition of `Send`, this is forced to be
  `'static`, but when `Send` changes these APIs will gain their full
  flexibility immediately.

  Threads that are `spawn`ed, on the other hand, are detached from the
  start and do not yield an RAII guard.

  The hope is that, by making `scoped` an explicit opt-in with a very
  suggestive name, it will be drastically less likely to be caught by a
  surprising deadlock due to an implicit join at the end of a scope.

* The module itself is marked stable.

* Existing methods other than `spawn` and `scoped` are marked stable.

The migration path is:

```rust
Thread::spawn(f).detached()
```

becomes

```rust
Thread::spawn(f)
```

while

```rust
let res = Thread::spawn(f);
res.join()
```

becomes

```rust
let res = Thread::scoped(f);
res.join()
```

[breaking-change]
2015-01-06 15:38:38 -08:00
Alex Crichton
0631b466c2 rollup merge of #19430: pczarn/interp_tt-cleanup
Conflicts:
	src/libsyntax/parse/parser.rs
2015-01-06 15:38:10 -08:00
Jakub Vrána
94c170e366 Fix type annotation in guide 2015-01-06 15:30:22 -08:00
Piotr Czarnecki
d85c017f92 Cleanup and followup to PR #17830: parsing changes
Prevents breaking down `$name` tokens into separate `$` and `name`.
Reports unknown macro variables.

Fixes #18775
Fixes #18839
Fixes #15640
2015-01-07 00:24:48 +01:00
Jakub Vrána
7846eb6aaa Use a better word in the guide 2015-01-06 15:13:47 -08:00
Aaron Turon
caca9b2e71 Fallout from stabilization 2015-01-06 14:57:52 -08:00
Nick Cameron
503709708c Change std::kinds to std::markers; flatten std::kinds::marker
[breaking-change]
2015-01-07 09:45:28 +13:00
Corey Richardson
e0b4287df6 Fix fallout 2015-01-06 12:04:41 -05:00
Alex Crichton
7975fd9cee rollup merge of #20482: kmcallister/macro-reform
Conflicts:
	src/libflate/lib.rs
	src/libstd/lib.rs
	src/libstd/macros.rs
	src/libsyntax/feature_gate.rs
	src/libsyntax/parse/parser.rs
	src/libsyntax/show_span.rs
	src/test/auxiliary/macro_crate_test.rs
	src/test/compile-fail/lint-stability.rs
	src/test/run-pass/intrinsics-math.rs
	src/test/run-pass/tcp-connect-timeouts.rs
2015-01-05 19:01:17 -08:00
Alex Crichton
bb5e16b4b8 rollup merge of #20554: huonw/mut-pattern
Conflicts:
	src/librustc_typeck/check/_match.rs
2015-01-05 18:38:51 -08:00
Alex Crichton
25d5a3a194 rollup merge of #20507: alexcrichton/issue-20444
This commit is an implementation of [RFC 494][rfc] which removes the entire
`std::c_vec` module and redesigns the `std::c_str` module as `std::ffi`.

[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0494-c_str-and-c_vec-stability.md

The interface of the new `CString` is outlined in the linked RFC, the primary
changes being:

* The `ToCStr` trait is gone, meaning the `with_c_str` and `to_c_str` methods
  are now gone. These two methods are replaced with a `CString::from_slice`
  method.
* The `CString` type is now just a wrapper around `Vec<u8>` with a static
  guarantee that there is a trailing nul byte with no internal nul bytes. This
  means that `CString` now implements `Deref<Target = [c_char]>`, which is where
  it gains most of its methods from. A few helper methods are added to acquire a
  slice of `u8` instead of `c_char`, as well as including a slice with the
  trailing nul byte if necessary.
* All usage of non-owned `CString` values is now done via two functions inside
  of `std::ffi`, called `c_str_to_bytes` and `c_str_to_bytes_with_nul`. These
  functions are now the one method used to convert a `*const c_char` to a Rust
  slice of `u8`.

Many more details, including newly deprecated methods, can be found linked in
the RFC. This is a:

[breaking-change]
Closes #20444
2015-01-05 18:37:22 -08:00
Alex Crichton
38d81baec8 rollup merge of #20478: SeanTAllen/master
Number of rustc calls would depending on various circumstances. Two is misleading.
2015-01-05 18:36:38 -08:00
Alex Crichton
e918a589ae rollup merge of #20092: barosl/rustdoc-line-number-clickable
While talking on IRC, someone wanted to post a link to the Rust source code, but while the lines of the rendered source code do have anchors (`<span id="[line number]">`), there is no convenient way to make links as they are not clickable. This PR makes them clickable.

Also, a minor fix of the FAQ is included.
2015-01-05 18:36:21 -08:00
Alex Crichton
b8e404f289 rollup merge of #19998: th0114nd/unicode-bottom
In the HTML version of the documentation, it isn't rendered so might as well use the unicode representation.
2015-01-05 18:36:20 -08:00
Alex Crichton
199ebc7bf7 rollup merge of #19888: steveklabnik/gh19861
Fixes #19861

/cc @huonw
2015-01-05 18:36:18 -08:00
Alex Crichton
6f7faa0b75 rollup merge of #19736: steveklabnik/gh19662
Fixes #19662.
2015-01-05 18:36:17 -08:00
Alex Crichton
d46b8f1fce rollup merge of #19235: bjz/reference
cc. @steveklabnik
2015-01-05 18:36:16 -08:00
Keegan McAllister
78e841d8b1 Update docs 2015-01-05 18:21:14 -08:00
Keegan McAllister
c9f0ff3813 Reserve the keyword 'macro' 2015-01-05 18:21:14 -08:00
Jorge Aparicio
97f870a1fc unignore and fix doctests in guide and reference 2015-01-05 17:22:18 -05:00
Jorge Aparicio
ab0c7af376 ignore boxed closure doctests in the guide/reference 2015-01-05 17:22:17 -05:00
Steve Klabnik
a56e7aee81 Add lifetime elision information to the ownership guide.
Fixes #19662.
2015-01-05 11:51:52 -05:00
Alex Crichton
ec7a50d20d std: Redesign c_str and c_vec
This commit is an implementation of [RFC 494][rfc] which removes the entire
`std::c_vec` module and redesigns the `std::c_str` module as `std::ffi`.

[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0494-c_str-and-c_vec-stability.md

The interface of the new `CString` is outlined in the linked RFC, the primary
changes being:

* The `ToCStr` trait is gone, meaning the `with_c_str` and `to_c_str` methods
  are now gone. These two methods are replaced with a `CString::from_slice`
  method.
* The `CString` type is now just a wrapper around `Vec<u8>` with a static
  guarantee that there is a trailing nul byte with no internal nul bytes. This
  means that `CString` now implements `Deref<Target = [c_char]>`, which is where
  it gains most of its methods from. A few helper methods are added to acquire a
  slice of `u8` instead of `c_char`, as well as including a slice with the
  trailing nul byte if necessary.
* All usage of non-owned `CString` values is now done via two functions inside
  of `std::ffi`, called `c_str_to_bytes` and `c_str_to_bytes_with_nul`. These
  functions are now the one method used to convert a `*const c_char` to a Rust
  slice of `u8`.

Many more details, including newly deprecated methods, can be found linked in
the RFC. This is a:

[breaking-change]
Closes #20444
2015-01-05 08:00:13 -08:00
Huon Wilson
bf6c007760 Change & pat to only work with &T, and &mut with &mut T.
This implements RFC 179 by making the pattern `&<pat>` require matching
against a variable of type `&T`, and introducing the pattern `&mut
<pat>` which only works with variables of type `&mut T`.

The pattern `&mut x` currently parses as `&(mut x)` i.e. a pattern match
through a `&T` or a `&mut T` that binds the variable `x` to have type
`T` and to be mutable. This should be rewritten as follows, for example,

    for &mut x in slice.iter() {

becomes

    for &x in slice.iter() {
        let mut x = x;

Due to this, this is a

[breaking-change]

Closes #20496.
2015-01-05 16:14:17 +11:00
bors
5773bdefff Merge pull request #20520 from nhowell/patch-1
doc: Add missing `$`s in the Installing Rust guide

Reviewed-by: steveklabnik, steveklabnik
2015-01-04 21:36:41 +00:00
bors
eb6f340d2a Merge pull request #20505 from estsauver/doc_20504
Update guide index to point to the task page

Reviewed-by: alexcrichton
2015-01-04 21:36:39 +00:00
bors
05164ba1e0 Merge pull request #20495 from brson/cargo
Update guide for Cargo installation

Reviewed-by: steveklabnik
2015-01-04 21:36:38 +00:00
bors
0b28a7990f Merge pull request #20487 from trapp/doc-namespace-typo
Fix typo in documentation.

Reviewed-by: alexcrichton
2015-01-04 21:36:38 +00:00
bors
69479e2ba6 Merge pull request #20428 from tbu-/pr_guide_int_to_i32_2nd_take
Make all integers in the guide `i32`, implicitely

Reviewed-by: steveklabnik
2015-01-04 21:36:34 +00:00
bors
1436b92898 Merge pull request #19963 from tshepang/patch-3
doc: mailing list is deprecated

Reviewed-by: brson
2015-01-04 21:36:33 +00:00
Nick Howell
36bed41c1f doc: Add missing $s in the Installing Rust guide 2015-01-04 10:23:00 -05:00
Alex Crichton
7d8d06f86b Remove deprecated functionality
This removes a large array of deprecated functionality, regardless of how
recently it was deprecated. The purpose of this commit is to clean out the
standard libraries and compiler for the upcoming alpha release.

Some notable compiler changes were to enable warnings for all now-deprecated
command line arguments (previously the deprecated versions were silently
accepted) as well as removing deriving(Zero) entirely (the trait was removed).

The distribution no longer contains the libtime or libregex_macros crates. Both
of these have been deprecated for some time and are available externally.
2015-01-03 23:43:57 -08:00
Earl St Sauver
21617ad620 Update guide index to point to the task page
When the "threads" guides were renamed to be "tasks" guides, it looks
like this link was missed.

Here's the other relevant commit.
2015-01-03 20:16:04 -08:00
Brendan Zabarauskas
144f4b88ac Update influence list 2015-01-04 14:15:49 +11:00
Brian Anderson
e8078c3fed Update guide for Cargo installation 2015-01-03 16:04:04 -08:00
Tobias Bucher
5de78040a2 Make all integers in the guide i32, implicitely
The guide still needs to talk about integer suffixes.
2015-01-03 23:19:14 +01:00
Timon Rapp
15dedb22f6 Fix typo in documentation. 2015-01-03 22:10:53 +01:00
Sean T Allen
0536986865 Minor documentation edit.
A tuple could be more made up of more than 2 values. Update guide to reflect.
2015-01-03 13:00:38 -05:00
Sean T Allen
399579785c Minor documentation edit.
Number of rustc calls would depending on various circumstances. Two is misleading.
2015-01-03 12:26:03 -05:00
Akos Kiss
6e5fb8bd1b Initial version of AArch64 support.
Adds AArch64 knowledge to:
* configure,
* make files,
* sources,
* tests, and
* documentation.
2015-01-03 15:16:10 +00:00
Alex Crichton
e921e3f045 Rollup test fixes and rebase conflicts 2015-01-02 10:50:13 -08:00
Alex Crichton
b9a26bf4b1 rollup merge of #20334: nagisa/ffi-llvm
Fixes #20313

r? @huonw
2015-01-02 09:22:18 -08:00
Alex Crichton
656d5bbb92 rollup merge of #20227: FlashYoshi/patch-1 2015-01-02 09:22:15 -08:00
Alex Crichton
5bd7a78f66 rollup merge of #19625: mrhota/guide_traits
Nothing major. Clarification, copy-editing, typographical and grammatical consistency
2015-01-02 09:22:10 -08:00
Alex Crichton
009ec5d2b0 rollup merge of #20315: alexcrichton/std-sync
Conflicts:
	src/libstd/rt/exclusive.rs
	src/libstd/sync/barrier.rs
	src/libstd/sys/unix/pipe.rs
	src/test/bench/shootout-binarytrees.rs
	src/test/bench/shootout-fannkuch-redux.rs
2015-01-02 09:19:00 -08:00
Alex Crichton
8b7d032014 rollup merge of #20273: alexcrichton/second-pass-comm
Conflicts:
	src/doc/guide.md
	src/libcollections/bit.rs
	src/libcollections/btree/node.rs
	src/libcollections/slice.rs
	src/libcore/ops.rs
	src/libcore/prelude.rs
	src/librand/rand_impls.rs
	src/librustc/middle/check_match.rs
	src/librustc/middle/infer/region_inference/mod.rs
	src/librustc_driver/lib.rs
	src/librustdoc/test.rs
	src/libstd/bitflags.rs
	src/libstd/io/comm_adapters.rs
	src/libstd/io/mem.rs
	src/libstd/io/mod.rs
	src/libstd/io/net/pipe.rs
	src/libstd/io/net/tcp.rs
	src/libstd/io/net/udp.rs
	src/libstd/io/pipe.rs
	src/libstd/io/process.rs
	src/libstd/io/stdio.rs
	src/libstd/io/timer.rs
	src/libstd/io/util.rs
	src/libstd/macros.rs
	src/libstd/os.rs
	src/libstd/path/posix.rs
	src/libstd/path/windows.rs
	src/libstd/prelude/v1.rs
	src/libstd/rand/mod.rs
	src/libstd/rand/os.rs
	src/libstd/sync/barrier.rs
	src/libstd/sync/condvar.rs
	src/libstd/sync/future.rs
	src/libstd/sync/mpsc/mod.rs
	src/libstd/sync/mpsc/mpsc_queue.rs
	src/libstd/sync/mpsc/select.rs
	src/libstd/sync/mpsc/spsc_queue.rs
	src/libstd/sync/mutex.rs
	src/libstd/sync/once.rs
	src/libstd/sync/rwlock.rs
	src/libstd/sync/semaphore.rs
	src/libstd/sync/task_pool.rs
	src/libstd/sys/common/helper_thread.rs
	src/libstd/sys/unix/process.rs
	src/libstd/sys/unix/timer.rs
	src/libstd/sys/windows/c.rs
	src/libstd/sys/windows/timer.rs
	src/libstd/sys/windows/tty.rs
	src/libstd/thread.rs
	src/libstd/thread_local/mod.rs
	src/libstd/thread_local/scoped.rs
	src/libtest/lib.rs
	src/test/auxiliary/cci_capture_clause.rs
	src/test/bench/shootout-reverse-complement.rs
	src/test/bench/shootout-spectralnorm.rs
	src/test/compile-fail/array-old-syntax-2.rs
	src/test/compile-fail/bind-by-move-no-guards.rs
	src/test/compile-fail/builtin-superkinds-self-type.rs
	src/test/compile-fail/comm-not-freeze-receiver.rs
	src/test/compile-fail/comm-not-freeze.rs
	src/test/compile-fail/issue-12041.rs
	src/test/compile-fail/unsendable-class.rs
	src/test/run-pass/builtin-superkinds-capabilities-transitive.rs
	src/test/run-pass/builtin-superkinds-capabilities-xc.rs
	src/test/run-pass/builtin-superkinds-capabilities.rs
	src/test/run-pass/builtin-superkinds-self-type.rs
	src/test/run-pass/capturing-logging.rs
	src/test/run-pass/closure-bounds-can-capture-chan.rs
	src/test/run-pass/comm.rs
	src/test/run-pass/core-run-destroy.rs
	src/test/run-pass/drop-trait-enum.rs
	src/test/run-pass/hashmap-memory.rs
	src/test/run-pass/issue-13494.rs
	src/test/run-pass/issue-3609.rs
	src/test/run-pass/issue-4446.rs
	src/test/run-pass/issue-4448.rs
	src/test/run-pass/issue-8827.rs
	src/test/run-pass/issue-9396.rs
	src/test/run-pass/ivec-tag.rs
	src/test/run-pass/rust-log-filter.rs
	src/test/run-pass/send-resource.rs
	src/test/run-pass/send-type-inference.rs
	src/test/run-pass/sendable-class.rs
	src/test/run-pass/spawn-types.rs
	src/test/run-pass/task-comm-0.rs
	src/test/run-pass/task-comm-10.rs
	src/test/run-pass/task-comm-11.rs
	src/test/run-pass/task-comm-13.rs
	src/test/run-pass/task-comm-14.rs
	src/test/run-pass/task-comm-15.rs
	src/test/run-pass/task-comm-16.rs
	src/test/run-pass/task-comm-3.rs
	src/test/run-pass/task-comm-4.rs
	src/test/run-pass/task-comm-5.rs
	src/test/run-pass/task-comm-6.rs
	src/test/run-pass/task-comm-7.rs
	src/test/run-pass/task-comm-9.rs
	src/test/run-pass/task-comm-chan-nil.rs
	src/test/run-pass/task-spawn-move-and-copy.rs
	src/test/run-pass/task-stderr.rs
	src/test/run-pass/tcp-accept-stress.rs
	src/test/run-pass/tcp-connect-timeouts.rs
	src/test/run-pass/tempfile.rs
	src/test/run-pass/trait-bounds-in-arc.rs
	src/test/run-pass/trivial-message.rs
	src/test/run-pass/unique-send-2.rs
	src/test/run-pass/unique-send.rs
	src/test/run-pass/unwind-resource.rs
2015-01-02 09:15:54 -08:00
Steve Klabnik
76e3bc2338 Properly deal with Ordering in the guide
Now that it's been removed from the prelude, we need to treat things differently.

Fixes #17967
2015-01-02 08:54:06 -08:00
Alex Crichton
56290a0044 std: Stabilize the prelude module
This commit is an implementation of [RFC 503][rfc] which is a stabilization
story for the prelude. Most of the RFC was directly applied, removing reexports.
Some reexports are kept around, however:

* `range` remains until range syntax has landed to reduce churn.
* `Path` and `GenericPath` remain until path reform lands. This is done to
  prevent many imports of `GenericPath` which will soon be removed.
* All `io` traits remain until I/O reform lands so imports can be rewritten all
  at once to `std::io::prelude::*`.

This is a breaking change because many prelude reexports have been removed, and
the RFC can be consulted for the exact list of removed reexports, as well as to
find the locations of where to import them.

[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0503-prelude-stabilization.md
[breaking-change]

Closes #20068
2015-01-02 08:54:06 -08:00
Alex Crichton
f3a7ec7028 std: Second pass stabilization of sync
This pass performs a second pass of stabilization through the `std::sync`
module, avoiding modules/types that are being handled in other PRs (e.g.
mutexes, rwlocks, condvars, and channels).

The following items are now stable

* `sync::atomic`
* `sync::atomic::ATOMIC_BOOL_INIT` (was `INIT_ATOMIC_BOOL`)
* `sync::atomic::ATOMIC_INT_INIT` (was `INIT_ATOMIC_INT`)
* `sync::atomic::ATOMIC_UINT_INIT` (was `INIT_ATOMIC_UINT`)
* `sync::Once`
* `sync::ONCE_INIT`
* `sync::Once::call_once` (was `doit`)
  * C == `pthread_once(..)`
  * Boost == `call_once(..)`
  * Windows == `InitOnceExecuteOnce`
* `sync::Barrier`
* `sync::Barrier::new`
* `sync::Barrier::wait` (now returns a `bool`)
* `sync::Semaphore::new`
* `sync::Semaphore::acquire`
* `sync::Semaphore::release`

The following items remain unstable

* `sync::SemaphoreGuard`
* `sync::Semaphore::access` - it's unclear how this relates to the poisoning
                              story of mutexes.
* `sync::TaskPool` - the semantics of a failing task and whether a thread is
                     re-attached to a thread pool are somewhat unclear, and the
                     utility of this type in `sync` is question with respect to
                     the jobs of other primitives. This type will likely become
                     stable or move out of the standard library over time.
* `sync::Future` - futures as-is have yet to be deeply re-evaluated with the
                   recent core changes to Rust's synchronization story, and will
                   likely become stable in the future but are unstable until
                   that time comes.

[breaking-change]
2015-01-01 22:02:59 -08:00
Nick Cameron
2c92ddeda7 More fallout 2015-01-02 10:28:19 +13:00
Nick Cameron
7e2b9ea235 Fallout - change array syntax to use ; 2015-01-02 10:28:19 +13:00
Simonas Kazlauskas
f1b64017d0 Feature gate FFI imports of LLVM intrinsics
Fixes #20313
2014-12-31 15:58:36 +02:00
Alex Crichton
86a03b8685 rollup merge of #20332: js-ojus/master
In the context of explaining the declaration of mutable bindings, using 'intended' probably conveys the meaning better than 'cared'.
2014-12-30 16:26:20 -08:00
Alex Crichton
2dd519230f rollup merge of #20247: steveklabnik/gh20088
Fixes #20088
2014-12-30 16:26:00 -08:00
JONNALAGADDA Srinivas
42ae6bb24d Minor change to wording in Variables and Bindings
In the context of explaining the declaration of mutable bindings, using 'intended' probably conveys the meaning better than 'cared'.
2014-12-30 19:23:16 +05:30
Alex Crichton
c9531b4f64 rollup merge of #20275: inthecloud247/patch-1
Updating curl flag and instructions to follow better security practices
used by other projects: https://github.com/saltstack/salt-bootstrap

Other references:
http://www.reddit.com/r/linux/comments/1s58my/please_stop_piping_curl1_to_sh1/
http://www.seancassidy.me/dont-pipe-to-your-shell.html
https://news.ycombinator.com/item?id=8550511
http://output.chrissnell.com/post/69023793377/stop-piping-curl-1-to-sh-1
http://www.reddit.com/comments/1pqtcb
2014-12-29 16:36:40 -08:00
Alex Crichton
7b5b0b1caf rollup merge of #20270: bombless/patch-2 2014-12-29 16:36:37 -08:00
Alex Crichton
1d373ae6d1 rollup merge of #20268: mdinger/pretty
For consistency with the documentation, *options* should be before *filenames*.
2014-12-29 16:36:34 -08:00
Alex Crichton
2fea594444 rollup merge of #20252: huonw/doc-no-ignore 2014-12-29 16:36:24 -08:00
Alex Crichton
4717f07989 rollup merge of #20248: steveklabnik/gh20038
A part of #20038

This is just the beginning of what needs to be done, but it's some of it.

/cc @aturon
2014-12-29 16:36:20 -08:00
Alex Crichton
9ac9d7af3b rollup merge of #20210: tshepang/patch-5 2014-12-29 16:36:04 -08:00
Alex Crichton
12ac91e1a6 rollup merge of #20205: tshepang/patch-4
The paragraph following this removed one has the same info, only better.
2014-12-29 16:36:01 -08:00
Alex Crichton
76e5ed655c std: Return Result from RWLock/Mutex methods
All of the current std::sync primitives have poisoning enable which means that
when a task fails inside of a write-access lock then all future attempts to
acquire the lock will fail. This strategy ensures that stale data whose
invariants are possibly not upheld are never viewed by other tasks to help
propagate unexpected panics (bugs in a program) among tasks.

Currently there is no way to test whether a mutex or rwlock is poisoned. One
method would be to duplicate all the methods with a sister foo_catch function,
for example. This pattern is, however, against our [error guidelines][errors].
As a result, this commit exposes the fact that a task has failed internally
through the return value of a `Result`.

[errors]: https://github.com/rust-lang/rfcs/blob/master/text/0236-error-conventions.md#do-not-provide-both-result-and-fail-variants

All methods now return a `LockResult<T>` or a `TryLockResult<T>` which
communicates whether the lock was poisoned or not. In a `LockResult`, both the
`Ok` and `Err` variants contains the `MutexGuard<T>` that is being returned in
order to allow access to the data if poisoning is not desired. This also means
that the lock is *always* held upon returning from `.lock()`.

A new type, `PoisonError`, was added with one method `into_guard` which can
consume the assertion that a lock is poisoned to gain access to the underlying
data.

This is a breaking change because the signatures of these methods have changed,
often incompatible ways. One major difference is that the `wait` methods on a
condition variable now consume the guard and return it in as a `LockResult` to
indicate whether the lock was poisoned while waiting. Most code can be updated
by calling `.unwrap()` on the return value of `.lock()`.

[breaking-change]
2014-12-29 09:18:09 -08:00
Steve Klabnik
86d6359065 Don't promise that we talk about Rustdoc more
Fixes #20088
2014-12-29 12:06:11 -05:00
Steve Klabnik
e76bd7e75d Properly deal with Ordering in the guide
Now that it's been removed from the prelude, we need to treat things differently.

Fixes #17967
2014-12-29 08:58:21 -08:00
Alex Crichton
c32d03f417 std: Stabilize the prelude module
This commit is an implementation of [RFC 503][rfc] which is a stabilization
story for the prelude. Most of the RFC was directly applied, removing reexports.
Some reexports are kept around, however:

* `range` remains until range syntax has landed to reduce churn.
* `Path` and `GenericPath` remain until path reform lands. This is done to
  prevent many imports of `GenericPath` which will soon be removed.
* All `io` traits remain until I/O reform lands so imports can be rewritten all
  at once to `std::io::prelude::*`.

This is a breaking change because many prelude reexports have been removed, and
the RFC can be consulted for the exact list of removed reexports, as well as to
find the locations of where to import them.

[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0503-prelude-stabilization.md
[breaking-change]

Closes #20068
2014-12-29 08:58:21 -08:00
John Albietz
ccd185e506 update curl output flag.
from curl manpage:
```
       -O, --remote-name
              Write output to a local file named like the remote file we get. (Only the file part
              of the remote file is used, the path is cut off.)
```
2014-12-28 12:24:37 -06:00
John Albietz
d9e0bbcc4f Update curl flag and add additional two-step installation instructions.
Updating curl flag and instructions to follow better security practices
used by other projects: https://github.com/saltstack/salt-bootstrap

Other references:
http://www.reddit.com/r/linux/comments/1s58my/please_stop_piping_curl1_to_sh1/
http://www.seancassidy.me/dont-pipe-to-your-shell.html
https://news.ycombinator.com/item?id=8550511
http://output.chrissnell.com/post/69023793377/stop-piping-curl-1-to-sh-1
http://www.reddit.com/comments/1pqtcb
2014-12-28 12:05:04 -06:00
bombless
c095bf545e once is not keyword now 2014-12-28 12:15:28 +08:00
mdinger
875af5b8f8 man rustc and rustc --help say options go first 2014-12-27 22:07:56 -05:00
Steve Klabnik
cd85f0a56a restore paragraph
Fixes #19861
2014-12-27 06:11:13 -05:00
Steve Klabnik
20fa7cbfc0 Add header to optimizations section 2014-12-27 06:11:13 -05:00
Barosl Lee
9f244dc97a Minor fix for the Rust language FAQ
extra library -> standard library
2014-12-27 12:50:10 +09:00
Huon Wilson
0204c1faf6 Remove some ignores from the guide. 2014-12-27 11:32:25 +11:00
Steve Klabnik
b8ffad5964 s/task/thread/g
A part of #20038
2014-12-26 16:04:27 -05:00
Titouan Vervack
17bdc3f7dc Fixed a small typo 2014-12-25 19:11:01 +01:00
Tshepang Lekhonkhobe
6ca45c3871 doc: surround with symbols, like it should 2014-12-24 23:53:25 +02:00
bors
7e11b22713 auto merge of #20117 : lfairy/rust/rename-include-bin, r=alexcrichton
According to [RFC 344][], methods that return `&[u8]` should have names ending in `bytes`. Though `include_bin!` is a macro not a method, it seems reasonable to follow the convention anyway.

We keep the old name around for now, but trigger a deprecation warning when it is used.

[RFC 344]: https://github.com/rust-lang/rfcs/blob/master/text/0344-conventions-galore.md

[breaking-change]
2014-12-24 20:47:12 +00:00
A.J. Gardner
daed54d016 Guide changes: Generics and Traits sections
Mostly copy-editing, clarification---in particular, monomorphization
2014-12-24 14:42:21 -06:00
Tshepang Lekhonkhobe
0eafc3228b doc: remove repeated info 2014-12-24 21:06:27 +02:00
bors
3f8d94e5a0 Merge pull request #20153 from brianloveswords/patch-1
Update complement-bugreport.md

Reviewed-by: alexcrichton
2014-12-23 09:31:26 +00:00
Chris Wong
85c1a4b1ba Rename include_bin! to include_bytes!
According to [RFC 344][], methods that return `&[u8]` should have names
ending in `bytes`. Though `include_bin!` is a macro not a method, it
seems reasonable to follow the convention anyway.

We keep the old name around for now, but trigger a deprecation warning
when it is used.

[RFC 344]: https://github.com/rust-lang/rfcs/blob/master/text/0344-conventions-galore.md

[breaking-change]
2014-12-23 22:06:32 +13:00
Brian J Brennan
d3d39b2f0a Update complement-bugreport.md
`--version=verbose` doesn't exist anymore, `--version --verbose` is the way to do that now.
2014-12-22 19:43:57 -05:00
Alex Crichton
941361b395 rollup merge of #20102: tshepang/patch-4
That sentence made it look like there was no option for using 'mut'
2014-12-22 12:47:52 -08:00
Alex Crichton
082bfde412 Fallout of std::str stabilization 2014-12-21 23:31:42 -08:00
Alex Crichton
4ae3107e72 rollup merge of #19996: th0114nd/boolean-inden
The current indentation level would indicate that Boolean literals are on the same level as Integer and Float literals under Number literals, unindenting moves it to the same scope as Character and string literals, Byte and byte string literals, and Number literals under Literals.
2014-12-21 09:27:33 -08:00
Alex Crichton
7e2ed4adc1 rollup merge of #19994: bluss/doc-ownership
Disambiguate maximally by using 'and' instead of '&' next to discussion
about references.

As a bonus, fix the spelling of the car too.
2014-12-21 09:27:33 -08:00
Alex Crichton
67ea1dc4bf rollup merge of #19989: th0114nd/quotes-around-as 2014-12-21 09:26:45 -08:00
Alex Crichton
8c030a87b3 rollup merge of #19966: steveklabnik/remove_l10n
@brson suggested that I remove this stuff in https://github.com/rust-lang/rust/pull/19897/files#r22014810, but it seems more appropriate to do separate from that.
2014-12-21 09:26:43 -08:00