Commit Graph

2616 Commits

Author SHA1 Message Date
Manish Goregaokar
18f70e3498 Rollup merge of #24495 - nathanl:nathanl-explain-bin-flag, r=steveklabnik
Explain the --bin flag in terms of the difference
between shipping binary and library code

I'm not sure if my explanation is even quite correct, but as a newbie coming from Ruby, this is my best guess. (In Rubyland, libraries always ship with the source code because there's no other form you can ship. :) )
2015-06-12 11:55:37 +05:30
Jonathan Reem
3c6dcea985 Add Terminal.com to the list of companies using rust in production. 2015-06-11 16:07:34 -07:00
Steven Allen
e2e292cc00 Don't link to specific versions of rust in the book.
They're forever doomed to be out-of-date. Also, don't assume the user is
installing a particular version.
2015-06-11 17:33:18 -04:00
bors
deff2f50a9 Auto merge of #26212 - Manishearth:rollup, r=Manishearth
- Successful merges: #26181, #26184, #26189, #26191, #26195, #26202
- Failed merges:
2015-06-11 16:33:53 +00:00
Nathan Long
a47d7a752e Explain the --bin flag more clearly 2015-06-11 09:20:14 -04:00
bors
fc9e424550 Auto merge of #26172 - nham:add_E0116, r=alexcrichton
Also improves the wording of the E0133 description.

cc #24407
2015-06-11 10:06:38 +00:00
Manish Goregaokar
95407cc627 Rollup merge of #26191 - jimblandy:master, r=steveklabnik
In the discussion of returning closures, it seems like the example code got simplified, but only the later copies got fixed. The final working code has `factory` returning `|x| x + num`, but the earlier code has `|x| vec.push(x)`.

The first form seemed to have more distracting characteristics, and the code wasn't right anyway, so I changed them to all use the second form, and updated the error messages.

r? @steveklabnik
2015-06-11 12:50:53 +05:30
Manish Goregaokar
bdebe94433 Rollup merge of #26181 - Stebalien:fix-26178, r=steveklabnik
The list of in-production users is probably incomplete. It's based on a [post](https://www.reddit.com/r/rust/comments/2x567m/who_is_using_rust_or_what_projects_that_are/cox7eby) by /u/mozilla_kmc

closes #26178
2015-06-11 12:50:52 +05:30
Jim Blandy
7d298d1ace Fix examples for returning closures. 2015-06-10 13:17:49 -07:00
Manish Goregaokar
c8519c9793 Rollup merge of #26174 - mcast:trpl-assignment-empty-tuple, r=steveklabnik
Doc patch for #26120.  Extra words here, because "value" is repeated.

I haven't read about whether/how it should go to stable (sorry), but I think it would help newcomers.

Thanks,
2015-06-10 22:07:10 +05:30
Manish Goregaokar
7d9427e6cd Rollup merge of #26146 - steveklabnik:remove_unsafe_pointer, r=Gankro
Using two terms for one thing is confusing, these are called 'raw pointers' today.
2015-06-10 22:07:10 +05:30
Manish Goregaokar
ef089ff70d Rollup merge of #26145 - steveklabnik:gh25853, r=brson
Fixes #25853
2015-06-10 22:07:10 +05:30
Manish Goregaokar
c84aff92b9 Rollup merge of #26142 - steveklabnik:gh25850, r=Gankro
Fixes #25850
2015-06-10 22:07:09 +05:30
Steven Allen
44007f2701 Rust is now post-1.0
closes #26178
2015-06-10 12:25:01 -04:00
Matthew Astley
aaf1983a56 mend bad Markdown 2015-06-10 16:16:03 +01:00
Matthew Astley
1ece005838 trpl: why (assignment == empty tuple) #26120 2015-06-10 11:02:31 +01:00
Nick Hamann
c8b088eb38 Add explanation for E0116 and update the error message.
Also updates the reference on this point.
2015-06-10 02:18:14 -05:00
bors
6c5834d81b Auto merge of #26137 - steveklabnik:gh25623, r=alexcrichton
Fixes #25623

I am bad with BNF, so I may have messed this up, but that's what review is for!
2015-06-10 06:59:31 +00:00
bors
2228ce10c6 Auto merge of #25836 - steveklabnik:gh25305, r=alexcrichton
Fixes #25794
2015-06-09 23:11:25 +00:00
Steve Klabnik
6b6b380fd1 Rollup merge of #26144 - steveklabnik:static_doc_fix, r=alexcrichton
Fixes #25851

I am 99% sure this is true for all `static`s and not just `static mut`, yes?
2015-06-09 17:24:45 -04:00
Steve Klabnik
9bcae312a3 Rollup merge of #26140 - steveklabnik:gh25803, r=alexcrichton
As this example got changed, we stopped showing how to return self as
the first example, so this text is outdated.

Fixes #25803
2015-06-09 17:24:45 -04:00
Steve Klabnik
b38e9a73d4 Rollup merge of #26136 - steveklabnik:gh25597, r=alexcrichton
Fixes #25597
2015-06-09 17:24:44 -04:00
Steve Klabnik
d16906283a Rollup merge of #26134 - steveklabnik:gh25586, r=alexcrichton
After talking with @graydon on #rust-internals, this is hopefully clarifying.

Fixes #25586

@mkpankov, what do you think?
2015-06-09 17:24:44 -04:00
Steve Klabnik
496fe4d51a Rollup merge of #26133 - steveklabnik:gh25573, r=alexcrichton
This obscures more than it helps.

Fixes #25573
2015-06-09 17:24:44 -04:00
Steve Klabnik
67bb4e9356 Rollup merge of #26129 - steveklabnik:gh26012, r=brson
Fixes #26012
2015-06-09 17:24:43 -04:00
Steve Klabnik
c7de6aa342 Rollup merge of #26125 - nsimplex:master, r=steveklabnik
The text claimed 'any borrow must last for a _smaller_ scope than the
owner', however the accurate way of describing the comparison is
inclusive (i.e., 'less than or equal to' vs. 'less than').
2015-06-09 17:24:43 -04:00
Steve Klabnik
32c6deec07 Rollup merge of #26111 - tshepang:consistency, r=brson 2015-06-09 17:24:42 -04:00
Steve Klabnik
2c75256c15 Exise 'unsafe pointer' in favor of 'raw pointer'
Using two terms for one thing is confusing, these are called 'raw pointers' today.
2015-06-09 16:49:24 -04:00
Steve Klabnik
34e5c24c5d make note of slicing syntax in TRPL: strings
Fixes #25853
2015-06-09 16:37:47 -04:00
Steve Klabnik
9db9449836 Make note about static and dtors
Fixes #25851
2015-06-09 16:30:39 -04:00
Steve Klabnik
b242a86864 Mention that enum constructors are functions
Fixes #25850
2015-06-09 16:12:45 -04:00
Steve Klabnik
a95b48c2dd Fix some copyediting in TRPL: method-syntax
As this example got changed, we stopped showing how to return self as
the first example, so this text is outdated.

Fixes #25803
2015-06-09 15:49:57 -04:00
Steve Klabnik
a0b08f387b Explain interaction with if and | in patterns
Fixes #26012
2015-06-09 15:40:09 -04:00
Steve Klabnik
6bddfc9650 Fix up macro grammar
Fixes #25623
2015-06-09 15:26:51 -04:00
Steve Klabnik
e12c420522 Expand a bit on clone() in Dining Philosophers
Fixes #25597
2015-06-09 15:24:44 -04:00
Steve Klabnik
a9899a7353 Clarify confusing sentence in TRPL: FFI
After talking with @graydon on #rust-internals, this is hopefully clarifying.

Fixes #25586
2015-06-09 15:17:30 -04:00
Steve Klabnik
f62ad7d7df remove stuff about #define
This obscures more than it helps.

Fixes #25573
2015-06-09 14:59:25 -04:00
simplex
0a70c94d68 Semantic accuracy in borrow scope rules.
The text claimed 'any borrow must last for a _smaller_ scope than the
owner', however the accurate way of describing the comparison is
inclusive (i.e., 'less than or equal to' vs. 'less than').
2015-06-09 13:08:16 -03:00
Tshepang Lekhonkhobe
e2a1afa1c2 book: define trait 2015-06-09 02:32:29 +02:00
Manish Goregaokar
fd2c76cd94 Rollup merge of #26113 - tshepang:avoid-abbreviations, r=steveklabnik 2015-06-09 05:42:29 +05:30
Manish Goregaokar
38a606ac67 Rollup merge of #26112 - tshepang:readability, r=steveklabnik 2015-06-09 05:42:28 +05:30
Manish Goregaokar
0d6f11b09b Rollup merge of #26105 - tshepang:sentence-not-clear, r=steveklabnik 2015-06-09 05:42:28 +05:30
Manish Goregaokar
65eb6c072b Rollup merge of #26104 - saml:patch-1, r=steveklabnik
Cargo expects `lib` to be table, not an array of tables (only single lib per project).
2015-06-09 05:42:28 +05:30
Manish Goregaokar
c95da07eb0 Rollup merge of #26078 - diwic:patch-2, r=alexcrichton
It was determined that no leaks were unsafe, make the language reference clear about this.
2015-06-09 05:42:27 +05:30
Manish Goregaokar
554f595b86 Rollup merge of #26073 - chuckSMASH:trpl-5-4-comments, r=steveklabnik
For a user following the path of reading Chapter 5: Syntax & Symantics
prior to Chapter 4: Learn Rust, this will be the first time they have
encountered executable tests inside documentation comments.

The test will fail because the `add_one` function is not defined in
the context of the doctest. This might not be the optimal place to
introduce and explain the `/// #` notation but I think it is important
that this snippet pass as a test when `rustdoc --test` is run against
it.
2015-06-09 05:42:27 +05:30
Manish Goregaokar
a387078c62 Rollup merge of #25968 - benfleis:master, r=steveklabnik
to address https://github.com/rust-lang/rust/issues/25488 .
2015-06-09 05:42:27 +05:30
Manish Goregaokar
40c598f3fb Rollup merge of #25948 - tshepang:misc-doc-improvements, r=steveklabnik 2015-06-09 05:42:27 +05:30
Manish Goregaokar
0e4a361619 Rollup merge of #25909 - frankamp:patch-1, r=steveklabnik
The doc indicates that you can replace 'before' with 'after' showing the use of try!. The two examples should be equivalent, but they are not.

In the File::create we were inducing a panic before in case of error, not propagating. It is important for newbies (like myself) to understand that try! propagates failures, while unwrap can induce a panic.

The other alternative is to make the 'before' File::create also manually handle Err like the other calls. Either way it would be consistent.
2015-06-09 05:42:26 +05:30
Manish Goregaokar
91b72011cc Rollup merge of #25898 - azerupi:patch-3, r=steveklabnik
As mentioned in #25893 the copy trait is not very well explained for beginners. There is no clear mention that all primitive types implement the copy trait and there are not a lot of examples. 

With this change I try to make it more visible and understandable for new users. 

I myself have struggled with this, see [my question on stackoverflow](http://stackoverflow.com/questions/30540419/why-are-booleans-copyable-even-though-the-documentation-doesnt-indicate-that). And I want to make it more transparent for others. 

I filed issue #25893 but I thought that I could give it a shot myself to relieve some of the work from the devs :)

If it is not well written or there are some changes to be made before it can be merged, let me know.

Cheers,
Mathieu
2015-06-09 05:42:26 +05:30
Tshepang Lekhonkhobe
76102b0aa7 reference: that looks better without those abbreviations 2015-06-09 00:20:51 +02:00
Tshepang Lekhonkhobe
7abb40c79a reference: improve readability 2015-06-09 00:16:23 +02:00
Tshepang Lekhonkhobe
0d033dd7c2 reference: get consistent by removing unneeded whitespace 2015-06-09 00:00:20 +02:00
Tshepang Lekhonkhobe
e305674945 book: remove a sentence that is not clear 2015-06-08 23:35:40 +02:00
saml
a6dd871821 Fixing typo, [[lib]] to [lib]
Cargo expects `lib` to be table, not an array of tables (only single lib per project).
2015-06-08 15:42:33 -04:00
Mathieu David
5efdcf268a Updated with requested changes 2015-06-08 18:01:40 +02:00
diwic
33118eb17a Make all leaks safe in language reference
Since it was determined that no leaks were unsafe, some of the documentation is still not clear about this. Here's one example.
2015-06-07 23:14:01 +02:00
Chuck Bassett
675b3decad Update doctest in comments.md
For a user following the path of reading Chapter 5: Syntax & Symantics
prior to Chapter 4: Learn Rust, this will be the first time they have
encountered executable tests inside documentation comments.

The test will fail because the `add_one` function is not defined in
the context of the doctest. This might not be the optimal place to
introduce and explain the `/// #` notation but I think it is important
that this snippet pass as a test when `rustdoc --test` is run against
it if it is going to be shown.
2015-06-07 15:06:58 -04:00
bors
72b03e5337 Auto merge of #26047 - chuckSMASH:patch-1, r=alexcrichton
The sensible default used here for the version number in the
auto-generated Cargo.toml is 0.1.0, not 0.0.1 (at least as of cargo
0.2.0-nightly efb482d).
2015-06-06 21:33:43 +00:00
Chuck Bassett
1826672c06 Updated Cargo.toml version number output
The sensible default used here for the version number in the
auto-generated Cargo.toml is 0.1.0, not 0.0.1 (at least as of cargo
0.2.0-nightly).
2015-06-05 23:33:30 -04:00
bors
0b0c89efb3 Auto merge of #26032 - achiwhane:master, r=steveklabnik
Added a sentence that tells the user that using main.rs and/or lib.rs is required for Cargo.
2015-06-05 21:44:21 +00:00
Akshay Chiwhane
ac3301ec3b fix some errors 2015-06-05 09:56:42 -04:00
Akshay Chiwhane
455b93151d fix typo 2015-06-05 09:52:44 -04:00
Akshay Chiwhane
629be845fd edit for clarity and grammar 2015-06-05 09:50:27 -04:00
Akshay Chiwhane
f9bfebb790 Clarified naming convention for Cargo
Added a sentence that tells the user that using main.rs and/or lib.rs is required for Cargo.
2015-06-05 09:20:11 -04:00
Steve Klabnik
c0d8be4094 Rollup merge of #26011 - genodeftest:patch-1, r=steveklabnik 2015-06-05 11:20:28 +02:00
Steve Klabnik
f1dd27524a Rollup merge of #26010 - ranma42:improve-doc, r=steveklabnik
The statement is not completely exact, because it is valid to have
both 0 non-mutable references and 1 mutable reference. Instead, use
the same wording as in mutability.md.
2015-06-05 11:20:28 +02:00
Steve Klabnik
2bcb07933f Rollup merge of #25925 - azerupi:patch-4, r=steveklabnik
Hi

I added a little section in the for loops about the `enumerate()` function.
I think it's useful for beginners to know this function and how you can use it. 

I used the title loopcounter, but it's probably not the best word to describe it. So let me know if there is a better word :)
2015-06-05 11:20:28 +02:00
Christian Stadelmann
2abffd55db [Documentation: Macros] Use some more SSL 2015-06-04 15:53:22 +02:00
Christian Stadelmann
3c0165d59f [Documentation] Use SSL where possible 2015-06-04 15:44:30 +02:00
Andrea Canciani
2b13b45058 Minor fix to docs of constraints on mut/non-mut references
The statement is not completely exact, because it is valid to have
both 0 non-mutable references and 1 mutable reference. Instead, use
the same wording as in mutability.md.
2015-06-04 15:14:09 +02:00
Manish Goregaokar
fd3b6ca508 Fix doctest (fixup –#25900) 2015-06-04 11:26:31 +05:30
Manish Goregaokar
8c2806caae Rollup merge of #25900 - lorenzb:more_about_types, r=nikomatsakis
My main sources of information are [RFC401](https://github.com/rust-lang/rfcs/blob/master/text/0401-coercions.md), the rust IRC channel, and a bunch of experiments to figure out what `rustc` currently supports.
Note that the RFC calls for some coercion behaviour that is not implemented yet (see #18469).
The documentation in this PR mostly covers current behaviour of rust and doesn't document the future behaviour. I haven't written about receiver expression coercion.

I would be happy to rewrite/adapt the PR according to feedback.

r? @steveklabnik
2015-06-04 10:07:02 +05:30
Steve Klabnik
5235065d74 Remove #[static_assert]
This was always a weird feature, and isn't being used in the compiler.
Static assertions should be done better than this.

This implements RFC #1096.

Fixes #13951
Fixes #23008
Fixes #6676

This is behind a feature gate, but that's still a

[breaking-change]
2015-06-03 09:38:13 -04:00
ben fleis
6a92cf9ace Add note about expression vs. statement to dining philosphers problem,
to address https://github.com/rust-lang/rust/issues/25488 .
2015-06-02 22:55:39 +02:00
Steve Klabnik
e1a33aa987 Link to cell in TRPL: mutability 2015-06-02 09:37:54 -04:00
Manish Goregaokar
98612dad9b Rollup merge of #25941 - puzza007:trpl-infinite-iterator-chain-take, r=steveklabnik 2015-06-02 11:14:08 +05:30
Manish Goregaokar
04abc05094 Rollup merge of #25932 - bluss:doc-book-1, r=alexcrichton
trpl: Fix typo in Raw Pointers chapter
2015-06-02 11:14:08 +05:30
Manish Goregaokar
7da2228861 Rollup merge of #25751 - steveklabnik:translations, r=brson
/cc @kgv, @rust-kr, @KaiserY, @mkpankov
2015-06-02 11:14:07 +05:30
Tshepang Lekhonkhobe
09c6203ad6 booK: Float no longer exists 2015-06-02 06:22:01 +02:00
Tshepang Lekhonkhobe
dc99fdbd66 book: update error message 2015-06-02 06:22:01 +02:00
Tshepang Lekhonkhobe
37dd7a2494 book: some tiny improvements 2015-06-02 06:21:50 +02:00
Steve Klabnik
321c2f4f8c Add community translations. 2015-06-01 15:57:44 -04:00
Mathieu David
c4f42a1ab4 Added # let lines = "hello\nworld".lines(); to pass the tests 2015-06-01 21:34:31 +02:00
Paul Oliver
5fefae684a trpl: Use infinite iterator in chain example with take 2015-06-01 12:44:50 +02:00
bors
baf508ba20 Auto merge of #25924 - FuGangqiang:master, r=Gankro 2015-06-01 04:57:00 +00:00
bors
02e4c4b8c8 Auto merge of #25911 - olombard:borrowing-link, r=alexcrichton
r? @steveklabnik
2015-05-31 21:40:47 +00:00
Mathieu David
90057c2962 output code language to text 2015-05-31 23:37:22 +02:00
Ulrik Sverdrup
6cb061721c trpl: Fix typo in Raw Pointers chapter 2015-05-31 22:35:59 +02:00
Mathieu David
151c3d3644 Corrected some formatting issues 2015-05-31 20:56:35 +02:00
Steve Gury
bef936111d Update iterators.md
Fix the actual off by one
2015-05-31 10:24:30 -07:00
Steve Gury
4425422bdd Fix off by one in the iterator documentation
`(1..100).map(|x| x + 1)` is actually mapping [1,100) to [2,101)
2015-05-31 07:32:21 -07:00
Mathieu David
6e2f18ef32 Add loopcounter section to the for-loop chapter
Sometimes loop counters are useful and we should show new users how it is achieved in Rust.
2015-05-31 14:03:57 +02:00
FuGangqiang
bdef7faaba trpl:add missing comma 2015-05-31 18:16:58 +08:00
olombard
61207046de TRPL: Fix a broken link to 'borrowing' 2015-05-30 23:43:23 +02:00
bors
78c4d53871 Auto merge of #25882 - steveklabnik:gh25554, r=alexcrichton
Fixes #25554
2015-05-30 21:10:07 +00:00
frankamp
ee4b58c792 Fixes consistency in before/after example
The doc indicates that you can replace 'before' with 'after' showing the use of try!. The two examples should be equivalent, but they are not.

In the File::create we were inducing a panic before in case of error, not propagating. It is important for newbies (like myself) to understand that try! propagates failures, while unwrap can induce a panic.

The other alternative is to make the 'before' File::create also manually handle Err like the other calls. Either way it would be consistent.
2015-05-30 13:31:46 -07:00
Lorenz
babb2684d8 Extend rust reference with a section about type coercions 2015-05-30 14:26:50 +02:00
Lorenz
a2b61e16b1 Extend rust reference with a section about subtyping 2015-05-30 14:25:58 +02:00
Mathieu David
5d8e085369 Proposal to explain the copy trait more clearly
As mentioned in #25893 the copy trait is not very well explained for beginners. There is no clear mention that all primitive types implement the copy trait and there are not a lot of examples. 

With this change I try to make it more visible and understandable for new users. 

I myself have struggled with this, see [my question on stackoverflow](http://stackoverflow.com/questions/30540419/why-are-booleans-copyable-even-though-the-documentation-doesnt-indicate-that). And I want to make it more transparent for others. 

I filed issue #25893 but I thought that I could give it a shot myself to relieve some of the work from the devs :)

If it is not well written or there are some changes to be made before it can be merged, let me know.

Cheers,
Mathieu
2015-05-30 11:51:25 +02:00
Steve Klabnik
ed19a6e034 Rollup merge of #25886 - nhowell:patch-1, r=steveklabnik
r? @steveklabnik
2015-05-29 15:24:47 -04:00