Commit Graph

1224 Commits

Author SHA1 Message Date
Alex Burka
8e6b9b8e93 emphasize that doctests don't run in bin crates 2015-08-20 18:41:24 -04:00
Kornel Lesiński
d112274fcb Use handle the same way in similarly structured examples 2015-08-20 22:12:41 +01:00
Tshepang Lekhonkhobe
9ea001d8e9 book: add DST to glossary 2015-08-20 22:05:39 +02:00
Steve Klabnik
572526be27 Rollup merge of #27882 - steveklabnik:gh27428, r=alexcrichton
This is where panic!() is introduced.
2015-08-18 15:03:11 -04:00
Steve Klabnik
dbbcb434b1 Add note about backtraces to TRPL
This is where panic!() is introduced.

Fixes #27428
2015-08-18 14:22:18 -04:00
bors
dc9b74f38d Auto merge of #27536 - steveklabnik:doc_object_safety, r=alexcrichton
Fixes #26938
2015-08-18 16:28:13 +00:00
Steve Klabnik
ce1bdc7293 Add object safety to TRPL
Fixes #26938
2015-08-18 11:27:02 -04:00
Steve Klabnik
e4266803cb Fix broken link to Wilson
reported by @chris-code here: https://github.com/rust-lang/rust/issues/24486#issuecomment-130812460
2015-08-13 15:42:14 -04:00
Alex Crichton
fe3ab21054 rollup merge of #27682: neurons/np.27681
PR for [Issue #27681] (https://github.com/rust-lang/rust/issues/27681). A simple update to the latest version of rust when typing the command rustc --version.
2015-08-11 22:42:22 -07:00
Alex Crichton
737397c584 rollup merge of #27622: eefriedman/https-url
Also fixes a few outdated links.
2015-08-11 22:11:25 -07:00
Niranjan Padmanabhan
d73d22b8cc Update version number response for new version of rust 2015-08-11 18:45:53 -07:00
Manish Goregaokar
a917f61569 Rollup merge of #27611 - vincentbernat:fix/doc/chars-iterator, r=steveklabnik
The previous wording was confusing. While would we need to go through
the whole list just to find the first code point? `chars()` being an
iterator, we only need to walk from the beginning of the list.

Note that I am not a native English speaker and I have still difficulties to spot if a "the" is needed somewhere. Feel free to take this PR as a mere suggestion.

r? @steveklabnik
2015-08-11 16:48:02 +05:30
Manish Goregaokar
e40516bcb4 Rollup merge of #27542 - steveklabnik:gh27303, r=alexcrichton
Fixes #27303
2015-08-11 16:48:01 +05:30
bors
5aca49c693 Auto merge of #27338 - alexcrichton:remove-morestack, r=brson
This commit removes all morestack support from the compiler which entails:

* Segmented stacks are no longer emitted in codegen.
* We no longer build or distribute libmorestack.a
* The `stack_exhausted` lang item is no longer required

The only current use of the segmented stack support in LLVM is to detect stack
overflow. This is no longer really required, however, because we already have
guard pages for all threads and registered signal handlers watching for a
segfault on those pages (to print out a stack overflow message). Additionally,
major platforms (aka Windows) already don't use morestack.

This means that Rust is by default less likely to catch stack overflows because
if a function takes up more than one page of stack space it won't hit the guard
page. This is what the purpose of morestack was (to catch this case), but it's
better served with stack probes which have more cross platform support and no
runtime support necessary. Until LLVM supports this for all platform it looks
like morestack isn't really buying us much.

cc #16012 (still need stack probes)
Closes #26458 (a drive-by fix to help diagnostics on stack overflow)

r? @brson
2015-08-10 23:40:54 +00:00
Alex Crichton
7a3fdfbf67 Remove morestack support
This commit removes all morestack support from the compiler which entails:

* Segmented stacks are no longer emitted in codegen.
* We no longer build or distribute libmorestack.a
* The `stack_exhausted` lang item is no longer required

The only current use of the segmented stack support in LLVM is to detect stack
overflow. This is no longer really required, however, because we already have
guard pages for all threads and registered signal handlers watching for a
segfault on those pages (to print out a stack overflow message). Additionally,
major platforms (aka Windows) already don't use morestack.

This means that Rust is by default less likely to catch stack overflows because
if a function takes up more than one page of stack space it won't hit the guard
page. This is what the purpose of morestack was (to catch this case), but it's
better served with stack probes which have more cross platform support and no
runtime support necessary. Until LLVM supports this for all platform it looks
like morestack isn't really buying us much.

cc #16012 (still need stack probes)
Closes #26458 (a drive-by fix to help diagnostics on stack overflow)
2015-08-10 16:35:44 -07:00
Eli Friedman
bbbfed2f93 Use https URLs to refer to rust-lang.org where appropriate.
Also fixes a few outdated links.
2015-08-09 14:28:46 -07:00
Vincent Bernat
b67adbed5a TRPL: minor correction on how chars().nth() work
The previous wording was confusing. While would we need to go through
the whole list just to find the first code point? `chars()` being an
iterator, we only need to walk from the beginning of the list.
2015-08-09 00:56:38 +02:00
Mike Marcacci
bcf3921a2a Added arrows to references in tables
Keeping integer values and integer references in the "value" columns made the examples quite difficult for me to follow. I've added unicode arrows to make references more obvious, without using a character with actual meaning in the rust language (like `&` or previously `~`).
2015-08-07 23:13:08 -07:00
bors
b77d2f5ac7 Auto merge of #27558 - mlalic:patch-1, r=brson
r? @steveklabnik
2015-08-07 04:21:47 +00:00
bors
871fd5eb73 Auto merge of #27552 - tshepang:misc, r=brson 2015-08-07 02:46:43 +00:00
Ruby
d3e089f08b fixed the few nits! 2015-08-06 19:55:53 +01:00
Ruby
855f1ff321 Explained asterisk on & and &mut reference 2015-08-06 19:29:03 +01:00
Steve Klabnik
8c4dc18d2a Add opaque structs to TRPL:FFI
Fixes #27303
2015-08-06 13:51:52 -04:00
Marko Lalic
607c70e50f TRPL/lifetimes.md: Fix typo lifteimes -> lifetimes 2015-08-06 11:57:55 +02:00
Tshepang Lekhonkhobe
3653cd9555 book: some improvements to Advanced Linking 2015-08-06 02:32:27 +02:00
Steve Klabnik
428050712f Rollup merge of #27539 - steveklabnik:gh26746, r=brson
1. mention them in the function chapter
2. mention their coercion to closures in the closures chapter

Fixes #26746
2015-08-05 15:09:50 -04:00
Steve Klabnik
43451bc4ee Rollup merge of #27538 - steveklabnik:gh26917, r=Gankro
We haven't discussed this syntax yet, so provide a basic explanation
and link up to later chapters.

Fixes #26917
2015-08-05 15:09:50 -04:00
Steve Klabnik
3a2af87363 Rollup merge of #27535 - steveklabnik:for_jhun, r=alexcrichton
'work' can refer to the game itself, ie, 'this compiles but the game isn't finished,'
so 'compile' is a more clear way to describe the problem.

Thanks jhun on irc
2015-08-05 15:09:50 -04:00
Steve Klabnik
1fb78b19ce Rollup merge of #27285 - lastorset:trait-operator-impl, r=steveklabnik
I also included some smaller trait-related changes.

Fixes #26991.

r? @shepmaster 
r? @steveklabnik
2015-08-05 15:09:49 -04:00
Steve Klabnik
e4c229b9fd Add more infor about function pointers to TRPL
1. mention them in the function chapter
2. mention their coercion to closures in the closures chapter

Fixes #26746
2015-08-05 13:44:54 -04:00
Steve Klabnik
8f828a3a9d Expand further on <> syntax in TRPL.
We haven't discussed this syntax yet, so provide a basic explanation
and link up to later chapters.

Fixes #26917
2015-08-05 13:23:22 -04:00
Steve Klabnik
db1f17a64b work -> compile in Guessing Game
'work' can refer to the game itself, ie, 'this compiles but the game isn't finished,'
so 'compile' is a more clear way to describe the problem.

Thanks jhun on irc
2015-08-05 12:30:00 -04:00
bors
6210dcdddb Auto merge of #27530 - Manishearth:rollup, r=Manishearth
- Successful merges: #27519, #27521, #27525, #27527, #27528
- Failed merges:
2015-08-05 08:52:06 +00:00
Manish Goregaokar
b1dc2c5094 Rollup merge of #27519 - JanLikar:rearrange-patterns, r=steveklabnik
- Move "Destructuring" after "Multiple patterns", because some of
    later sections include examples which make use of destructuring.

  - Move "Ignoring bindings" after "Destructoring", because the former
    features Result<T,E> destructuring. Some of examples in later
    sections use "_" and "..", so "Ignoring bindings" must be
    positioned before them.

  - Fix #27347 by moving "Ref and mut ref" before "Ranges" and
    "Bindings", because "Bindings" section includes a somewhat
    difficult example, which also makes use of "ref" and "mut ref"
    operators.
2015-08-05 13:45:38 +05:30
Chris Nixon
d5b522e20e Tweaked concurrency.md 2015-08-04 20:36:28 +01:00
Jan Likar
c1f938d7b8 Rearrange sections in "Patterns"
- Move "Destructuring" after "Multiple patterns", because some of
    later sections include examples which make use of destructuring.

  - Move "Ignoring bindings" after "Destructoring", because the former
    features Result<T,E> destructuring. Some of examples in later
    sections use "_" and "..", so "Ignoring bindings" must be
    positioned before them.

  - Fix #27347 by moving "Ref and mut ref" before "Ranges" and
    "Bindings", because "Bindings" section includes a somewhat
    difficult example, which also makes use of "ref" and "mut ref"
    operators.
2015-08-04 20:22:42 +02:00
bors
c980aba9a8 Auto merge of #27508 - friedm:remove_integer_suffixes, r=alexcrichton
For #27501  

r? @steveklabnik
2015-08-04 16:31:16 +00:00
Manish Goregaokar
5f841eb824 Rollup merge of #27460 - JanLikar:master, r=steveklabnik
- Fix #26968 by noting the difference between ".." and "_" more explicitly

  - Change one of the examples to show the match-all behaviour of ".."

  - Merge "Ignoring variants" and "Ignoring bindings" sections into the latter

r? @steveklabnik
2015-08-04 18:00:52 +05:30
Manish Goregaokar
3e3a9b4eec Rollup merge of #27397 - Dangthrimble:master, r=steveklabnik
Clarifications for those new to Rust and Cargo:
* It's a good idea to get rid of the original `main.exe` in project root
* Slight clarification on the use of `main.rs` vs `lib.rs`
* Clarify that the TOML file needs to be in project root
2015-08-04 18:00:52 +05:30
Matt Friedman
f53ba18f43 remove unneeded integer suffixes from concurrency chapter 2015-08-03 19:48:14 -05:00
bors
ceded6adb3 Auto merge of #27210 - vadimcn:win64-eh-pers, r=alexcrichton
After this change, the only remaining symbol we are pulling from libgcc on Win64 is `__chkstk_ms` - the stack probing routine.
2015-08-03 22:12:46 +00:00
Jonathan Hansford
c54df0e454 required -> used; you -> we 2015-08-03 21:37:15 +01:00
Jonathan Hansford
d9b1882248 Updated in response to review 2015-08-03 10:22:03 +01:00
Manish Goregaokar
0860b29b6a Rollup merge of #27464 - killercup:patch-16, r=Gankro
Because Markdown.
2015-08-03 02:33:52 +05:30
bors
504eaa5929 Auto merge of #27305 - KieranHunt:master, r=steveklabnik
I found that the book had little information for `loop`s and `loop` label so I've added some.
2015-08-02 19:08:21 +00:00
Pascal Hertleif
6e61783dce TRPL: Add Newline Before Headline
Because Markdown.
2015-08-02 12:32:14 +02:00
Jan Likar
91972ba5a6 Fix "Ignoring variants" in "Patterns" chapter
- Fix #26968 by noting the difference between ".." and "_" more explicitly

  - Change one of the examples to show the match-all behaviour of ".."

  - Merge "Ignoring variants" and "Ignoring bindings" sections into the latter
2015-08-01 22:04:23 +02:00
Kieran Hunt
a989ed8880 Adding an ignore annotation to an infinite loop so that it wont hang the tester. 2015-08-01 22:02:00 +02:00
Daniel Albert
3dfab40bbc Fix off-by-one error 2015-08-01 20:53:19 +02:00
Leif Arne Storset
427736931b Copyedit generics.md and traits.md
Squashed at reviewer's request:

Add heading at the end of the introductory material
Spice up introductory paragraphs a bit
Use quotes instead of <code> for phrase
Remove "other" in "other restrictions" (it's not obvious that any other
restrictions have been mentioned)
"Default methods" is a second-level heading, but is not a subsection of
"Where clause"
Reword "Default methods" introduction: it's not the "last feature" on
this page
2015-07-30 21:49:14 +02:00
Leif Arne Storset
556b0815d7 Using operator traits in generic structs 2015-07-30 21:49:13 +02:00
Leif Arne Storset
0e92165eaf Show impl<T>
This includes a new example with Rectangle, instead of reusing HasArea,
because fn area would require the Mul trait, and the added complexity of
that would be better left for the Operators and Overloading chapter.

Squashed at reviewer's request: Move teaser for trait bounds to bottom
2015-07-30 21:48:25 +02:00
Vadim Chugunov
6112b22078 Implement Win64 eh_personality natively. 2015-07-30 11:35:16 -07:00
Jonathan Hansford
c2b564557d By default
Guessing Game states that "Rust only imports a few things into every
program, the ‘prelude’". That isn't strictly true.  That is all it
imports by default and the change clarifies that point.
2015-07-30 11:58:13 +01:00
Jonathan Hansford
a4aae4552e Merge branch 'master' of https://github.com/Dangthrimble/rust 2015-07-30 09:20:24 +01:00
Jonathan Hansford
bc3c41be9f Clarifications for Hello, Cargo!
Just a few minor changes to clarify a few things for someone new to Rust
and Cargo.
2015-07-30 09:20:13 +01:00
Kieran Hunt
4a5194a6d5 Removing infinite loops file 2015-07-30 07:22:21 +02:00
Kieran Hunt
a3872a3685 Consolidating loop information to a single page. Per PR #27305 2015-07-29 22:38:43 +02:00
Manish Goregaokar
6b564a663b Rollup merge of #27232 - Dangthrimble:master, r=steveklabnik
Added definitions for 'Expression', 'Expression-Oriented Language' and 'Statement' to glossary.
Sorted the definitions alphabetically.

r? @steveklabnik
2015-07-30 01:43:53 +05:30
Steve Klabnik
5aa76509da Rollup merge of #27355 - krumelmonster:patch-1, r=alexcrichton
Minor change in the book
2015-07-29 10:30:36 -04:00
Steve Klabnik
8b82470456 Rollup merge of #27343 - steveklabnik:fix_module, r=alexcrichton 2015-07-29 10:30:35 -04:00
Steve Klabnik
a368adf8e5 Rollup merge of #27326 - steveklabnik:doc_show_use, r=Gankro
In spirit with https://internals.rust-lang.org/t/should-we-keep-including-obvious-imports-in-code-examples/2217, show the feature flags we're using in examples.

(also one instance of 'use')
2015-07-29 10:30:34 -04:00
Steve Klabnik
6fec7b7854 Rollup merge of #27325 - midinastasurazz:patch-2, r=alexcrichton 2015-07-29 10:30:33 -04:00
Steve Klabnik
10387d6839 Rollup merge of #27286 - lastorset:pub, r=steveklabnik
The reader could probably infer this from the current text, but for C++ programmers it's not obvious that struct fields don't automatically become public.

Apparently I wasn't the only one to be confused:

http://stackoverflow.com/questions/29157300/field-of-struct-is-private-when-importing-module

I don't think an example is necessary, but can add one if desired.

r? @steveklabnik
2015-07-29 10:30:33 -04:00
krumelmonster
9699119c57 more precise for inclusive range 2015-07-28 19:22:20 +02:00
Oliver Schneider
00a5e66f81 remove get_ident and get_name, make as_str sound 2015-07-28 18:07:20 +02:00
Steve Klabnik
02c1351fa3 remove incorrect statement from TRPL: crates and modules 2015-07-27 23:04:42 -04:00
bors
8988043da7 Auto merge of #27284 - lastorset:default-methods, r=Gankro
Instead of bar/baz, use valid/invalid as default methods. This
illustrates why you might want default methods, and shows that you can
call other trait methods from a default method.

r? @steveklabnik
2015-07-27 16:34:40 +00:00
Steve Klabnik
ba5fcb726f Show appropriate feature flags in docs 2015-07-27 12:28:13 -04:00
midinastasurazz
2449823268 Fix misrendered HTML character entities 2015-07-27 16:18:50 +02:00
midinastasurazz
6e377fe5f3 Fix typo: yur -> your 2015-07-27 07:20:54 +02:00
Kieran Hunt
b36551b0e2 Adding docs for loops and loop labels. 2015-07-26 19:39:32 +02:00
Leif Arne Storset
95c7f306c7 Mention pub for structs and fields 2015-07-25 21:20:27 +02:00
Leif Arne Storset
7bec320e6e Default methods example: Show "(in)valid" case
Instead of bar/baz, use valid/invalid as default methods. This
illustrates why you might want default methods, and shows that you can
call other trait methods from a default method.
2015-07-25 20:53:57 +02:00
Jonathan Hansford
8fee56777c Commas added, as requested. 2015-07-25 10:42:46 +01:00
bors
f0b7ede78a Auto merge of #26960 - Manishearth:wrapper-types, r=steveklabnik
@steveklabnik had suggested I do this.

This needs much review -- I tried reducing the informal tone but there's room for improvement.


r? @steveklabnik
2015-07-25 07:54:48 +00:00
Manish Goregaokar
8484aca046 Move wrapper types blog post into trpl 2015-07-25 11:02:41 +05:30
Steve Klabnik
43edc1c35a Rollup merge of #27193 - aidanhs:aphs-advanced-linking-doc, r=steveklabnik
Continuation of #25685.
2015-07-24 14:56:02 -04:00
Steve Klabnik
e490ba9a40 Rollup merge of #27177 - echochamber:master, r=steveklabnik
Was browsing somebody else's code and came across a snippet using labels. Looking around, it seems like there was an example for this in [rustbyexample](http://rustbyexample.com/flow_control/loop/nested.html) but none in trpl.
2015-07-24 14:56:01 -04:00
Jonathan Hansford
bcee0a83b8 Added link in glossary to expression-oriented language
Tidied up glossary.md and added link from hello-world.md to
'expression-oriented language' in glossary.md
2015-07-24 12:12:11 +01:00
Jonathan Hansford
30584b06ef Additional information on Expression-Oriented Languages
Added the fact that expression statements can form part of larger
expressions.
2015-07-24 09:01:34 +01:00
Jonathan Hansford
1f80880467 Added entries to explain expression-oriented languages
Added definitions for 'Expression', 'Expression-Oriented Language' and
'Statement'.
Sorted the definitions alphabetically.
2015-07-23 12:24:55 +01:00
Jason Schein
c80bff0186 Added how to use labels to break nested loops to trpl. 2015-07-22 13:00:51 -07:00
Aidan Hobson Sayers
b6a0d9e178 Additional notes to link-args 2015-07-22 18:15:23 +01:00
Aidan Hobson Sayers
a8a49fbfc9 musl static linking not glibc 2015-07-22 18:15:16 +01:00
Steve Klabnik
5665efd60e Rollup merge of #27201 - Ticki:master, r=steveklabnik
Just some small changes.
2015-07-22 12:56:52 -04:00
Steve Klabnik
7cacf83009 Rollup merge of #27183 - Dangthrimble:master, r=steveklabnik
Updated "Installing Rust" and "After installation" to provide additional guidance to Windows users on including Rust in the Path system variable.

r? @steveklabnik
2015-07-22 12:56:52 -04:00
Jonathan Hansford
f2c73459ac Path changed to %PATH%
The two references to the "Path system variable" have changed to the
"%PATH% system variable".
2015-07-22 08:26:40 +01:00
Aidan Hobson Sayers
7af865b333 Static linking 2015-07-21 21:11:52 +01:00
Ticki
cf1e078bf6 Klabnik nit-picks ;) 2015-07-21 22:09:29 +02:00
Ticki
48870d4f05 rust -> Rust 2015-07-21 21:40:11 +02:00
Ticki
a5c7b96426 Add info about usage of 'unsafe' keyword in bindings to foreign interfaces. 2015-07-21 21:36:29 +02:00
Aidan Hobson Sayers
e6c058e18c Rename 'link-args' to 'advanced-linking', add intro 2015-07-21 19:07:19 +01:00
Jonathan Hansford
99572284dc Guidance on Windows install re "Add to PATH"
Updated "Installing Rust" and "After installation" to provide additional
guidance to Windows users on including Rust in the Path system variable.
2015-07-21 12:31:06 +01:00
Steve Klabnik
a29c8347f2 Add travis config to TRPL: release channels
This should help people configure travis to test all three channels.
2015-07-20 20:14:23 -04:00
Steve Klabnik
d0e1b06fc0 Clean up some wording around globs.
Globs used to be a feature you'd turn on, but now they're not, so this sounds
a bit odd.
2015-07-17 13:15:06 -04:00
Manish Goregaokar
a4060d02cb Rollup merge of #27020 - goyox86:goyox86/fix-error-handling-snippet, r=steveklabnik
This PR fixes a snippet of code on the error handling chapter of \"The Rust Programming Language\".

//cc @steveklabnik

The docs state that trying to compile the snippet will yield the following error:

```bash
anon>:13:5: 20:6 error: non-exhaustive patterns: `_` not covered [E0004]
```

But instead the error received is:

```bash
<anon>:22:46: 22:56 error: unresolved name `NewRelease`
<anon>:22     std::io::println(descriptive_probability(NewRelease));
                                                       ^~~~~~~~~~
<anon>:22:5: 22:21 error: unresolved name `std::io::println`
<anon>:22     std::io::println(descriptive_probability(NewRelease));
              ^~~~~~~~~~~~~~~~
error: aborting due to 2 previous errors
playpen: application terminated with error code 101
```

After applying this PR the expected error is returned:

```bash
anon>:13:5: 20:6 error: non-exhaustive patterns: `_` not covered [E0004]
<anon>:13     match probability(&event) {
<anon>:14         1.00 => \"certain\",
<anon>:15         0.00 => \"impossible\",
<anon>:16         0.00 ... 0.25 => \"very unlikely\",
<anon>:17         0.25 ... 0.50 => \"unlikely\",
<anon>:18         0.50 ... 0.75 => \"likely\",
          ...
<anon>:13:5: 20:6 help: see the detailed explanation for E0004
error: aborting due to previous error
```
2015-07-16 10:49:08 +05:30
Manish Goregaokar
9ac3f42771 Rollup merge of #26695 - rutsky:patch-2, r=Manishearth
r? @steveklabnik
2015-07-16 10:48:36 +05:30
bors
5708b1a18a Auto merge of #27016 - alexcrichton:inline-asm-docs, r=steveklabnik
Hot off the press, we've now got some nice documentation to link to in LLVM
officially!
2015-07-14 07:51:04 +00:00
Jose Narvaez
2e1f75acc4 Fixed snippet to return the proper error. 2015-07-13 20:54:33 +01:00
Alex Crichton
07132b499f doc: Add a link to LLVM's new inline assembly docs
Hot off the press, we've now got some nice documentation to link to in LLVM
officially!
2015-07-13 10:08:09 -07:00
Frank McSherry
d673bdef0f minor grammatical update
Grammatical update (and passive -> active, but I'm not sure if "Rust" is often used as a subject in the book; feel free to revert that part for style, but keep the subject-verb agreement)
2015-07-13 17:22:08 +02:00
Pavel Pravosud
49e45833f8 Clean up trailing whitespaces 2015-07-12 11:23:09 -07:00
Pavel Pravosud
6e1d01f79e Fix multi-threading example in dining-philosophers 2015-07-12 11:22:52 -07:00
Steve Klabnik
1ae7702681 TRPL: make version constraits explicit
We weren't explicit enough about Cargo's default version behavior.

For rust-lang/rust at least,

Fixes #26482
2015-07-08 13:09:22 -04:00
Steve Klabnik
b6c7dff728 Rollup merge of #26855 - steveklabnik:gh26344, r=alexcrichton
Fixes #26344
2015-07-07 09:49:56 -04:00
Steve Klabnik
743a9e6cae Rollup merge of #26854 - steveklabnik:gh26345, r=alexcrichton
I am not mentioning #[unsafe_drop_flag] because it should go away
eventually, and also because it's just an attribute, it's not
really a use of the `unsafe` keyword.

Fixes #26345
2015-07-07 09:49:56 -04:00
Steve Klabnik
10c795a6ea Rollup merge of #26853 - steveklabnik:gh26346, r=Gankro
This incorrectly implied that doing things is fine in unsafe code

Fixes #26346
2015-07-07 09:49:55 -04:00
Steve Klabnik
bc28e64fb3 Re-word UB in unsafe guide
This incorrectly implied that doing things is fine in unsafe code

Fixes #26346
2015-07-07 12:52:20 -04:00
Steve Klabnik
4b19be3631 Not literally all of concurrency is a library
Fixes #26344
2015-07-07 09:29:04 -04:00
Steve Klabnik
73df19a206 There are four uses of unsafe, actually
I am not mentioning #[unsafe_drop_flag] because it should go away
eventually, and also because it's just an attribute, it's not
really a use of the `unsafe` keyword.

Fixes #26345
2015-07-07 09:26:23 -04:00
Steve Klabnik
f29b565e2d Describe lifetime syntax for impl
Fixes #26375
2015-07-07 09:19:26 -04:00
Steve Klabnik
015441bd5d Rollup merge of #26827 - steveklabnik:gh25786, r=alexcrichton
Fixes #25786
2015-07-06 18:06:30 -04:00
Steve Klabnik
aef38ef819 Rollup merge of #26761 - steveklabnik:actually_ub, r=alexcrichton
I incorrectly stated that it's an abort.

r? @Gankro
2015-07-06 18:06:29 -04:00
Steve Klabnik
ee43c5e2f0 FFI panic is UB
I incorrectly stated that it's an abort.
2015-07-06 16:00:31 -04:00
Steve Klabnik
fb6eeb6ce8 Document _ in bindings
Fixes #25786
2015-07-06 12:27:32 -04:00
Liigo Zhuang
03afbf93ed book: introduce //! doc comment in comments section
Closes #26801
2015-07-06 14:55:06 +08:00
Vladimir Rutsky
dbaaa2c6a4 remove terminating dot from caption 2015-07-01 02:34:01 +03:00
Vladimir Rutsky
aacb5f68bf add missing colon 2015-07-01 02:31:49 +03:00
Steve Klabnik
bac361558e Rollup merge of #26580 - adamheins:master, r=steveklabnik
I found a sentence that felt a bit awkward to read in its current form, so I added a comma to break it up.
2015-06-30 15:37:44 -04:00
Steve Klabnik
96dd82ff9c Rollup merge of #26506 - tshepang:doc-fix, r=steveklabnik 2015-06-30 15:37:44 -04:00
bors
f39df49bcd Auto merge of #26662 - steveklabnik:gh26661, r=alexcrichton
This is his own mirror, so it shouldn't go down, unlike the previous one.

Fixes #26661
2015-06-30 10:26:09 +00:00
Steve Klabnik
b1907a04e4 Update link to Ousterhout
This is his own mirror, so it shouldn't go down, unlike the previous one.

Fixes #26661
2015-06-29 17:06:23 -04:00
bors
f9b6929f46 Auto merge of #26623 - Saser:master, r=steveklabnik
In Chapter 5.9 (References and Borrowing), there is an example [at the very end](https://doc.rust-lang.org/stable/book/references-and-borrowing.html#use-after-free) which shows that declaring a reference before declaring the variable that it points to results in a compilation error. The book does not really mention why this happens though -- in the sections before, it has described how different scopes affects the lifetime of resources, but there is no mention of how resources within the same scope work.

This confused me a little, so I asked on #rust and got the answer that the resources are destroyed in the reverse order that they are declared, but the book makes no mention of it (as far as I can find) -- except in Chapter 5.21 (Drop), where it says:

> When `x` goes out of scope at the end of `main()`, the code for `Drop` will run. `Drop` has one method, which is also called `drop()`. It takes a mutable reference to `self`.
> 
> That’s it! The mechanics of `Drop` are very simple, but there are some subtleties. For example, values are dropped in the opposite order they are declared. [...]

---

I feel like Chapter 5.9 (References and Borrowing) is probably the best place to put this information (as I have done in my additions), since it deals with other types of referencing and borrowing. However, since English is not my native language, the wording of my additions perhaps are a little "off" -- any feedback on them is appreciated.
2015-06-29 19:19:31 +00:00
Christian Persson
d6159b7fe0 Clarifying deallocation order of resources within same scope 2015-06-27 16:58:18 +02:00
Alexis Beingessner
9001da658a make book match reference 2015-06-26 12:06:05 -07:00
Adam Heins
35abf86a1b Improve sentence flow. 2015-06-25 19:29:23 -04:00
Brody Holden
165a2817a4 Replace std::comm reference with std::sync::mpsc.
The FFI documentation references std::comm. Replace with
std::sync::mpsc.

Also wrap the line.
2015-06-24 20:08:55 -07:00
bors
d278632fef Auto merge of #26528 - brson:papers, r=alexcrichton
This adds all papers that mention Rust that I'm aware of. Includes some undergrad work.
2015-06-24 10:29:26 +00:00
bors
eeeda89e55 Auto merge of #26526 - djc:patch-1, r=steveklabnik
In particular, I found that the disclaimer (promised in the second paragraph) doesn't stand out right now. I think the extra headers help with scanning this document, and making it easier to discern which steps are relevant to my particular flow through the options.
2015-06-24 05:53:19 +00:00
bors
2d0cbf3e3e Auto merge of #26509 - tshepang:4-and-not-3, r=bluss 2015-06-24 02:51:13 +00:00
Brian Anderson
913c51ab17 doc: Add newest Rust papers 2015-06-23 13:59:43 -07:00
Dirkjan Ochtman
5027c9f0d1 Add some more headers to installation documentations
In particular, I found that the disclaimer (promised in the second paragraph) doesn't stand out right now. I think the extra headers help with scanning this document, and making it easier to discern which steps are relevant to my particular flow through the options.
2015-06-23 21:31:07 +02:00
bors
27ecbba388 Auto merge of #26508 - tshepang:stray-code-block, r=bluss 2015-06-23 17:27:07 +00:00
Jake Hickey
deee268015 Use a more descriptive variable name.
I'm currently reading the rust book and this variable name tripped me up.
Because it was called "input", I thought at first it might contain the line
read by read_line(). This new variable name will be more instructive to rust
beginners.
2015-06-22 18:48:50 -04:00
Tshepang Lekhonkhobe
f8158122c5 book: there are 4 special sections 2015-06-22 20:32:56 +02:00
Tshepang Lekhonkhobe
7a0a69f801 book: remove a stray code block 2015-06-22 20:14:27 +02:00
Tshepang Lekhonkhobe
e13077f7f0 book: whitespace 2015-06-22 19:29:34 +02:00
Tshepang Lekhonkhobe
0adda45c04 book: fix sentence 2015-06-22 19:29:29 +02:00
Steve Klabnik
24c1e109cc TRPL: FFI: address panics
Fixes #26443
2015-06-20 14:18:28 -04:00
bors
37cc79f81c Auto merge of #26315 - steveklabnik:gh26287, r=alexcrichton
The font can make this hard to read, and we don't even strictly need
the annotation, so let's just remove it

Fixes #26287
2015-06-17 18:09:10 +00:00
bors
4806210db9 Auto merge of #26318 - steveklabnik:gh26268, r=alexcrichton
Fixes #26268
2015-06-16 08:20:57 +00:00
bors
00382a592b Auto merge of #26317 - steveklabnik:gh25956, r=alexcrichton
It isn't really neccesary, but is pretty dense.

Fixes #25956
2015-06-16 06:44:56 +00:00
bors
906ad72462 Auto merge of #26311 - jooert:fix25855, r=steveklabnik
Use result of the computation to prevent the compiler from optimising
too much. Change `_x` to `x` and therefore remove the paragraph about
the underscore.

Fixes #25855.

r? @steveklabnik
2015-06-15 23:48:39 +00:00
Steve Klabnik
1792ef6ae4 Clarify that the following will error
Fixes #26268
2015-06-15 13:18:07 -04:00
Steve Klabnik
75ffcd8e59 Remove confusing paragraph from Trait Objects
It isn't really neccesary, but is pretty dense.

Fixes #25956
2015-06-15 13:16:16 -04:00
Johannes Oertel
3e7ab1b5cb Update example in "Rust Inside Other Languages"
Use result of the computation to prevent the compiler from optimising
too much. Change `_x` to `x` and therefore remove the paragraph about
the underscore.

Fixes #25855.
2015-06-15 19:12:34 +02:00
Steve Klabnik
3db26db24a remove confusing 1i32
The font can make this hard to read, and we don't even strictly need
the annotation, so let's just remove it

Fixes #26287
2015-06-15 12:42:07 -04:00
Manish Goregaokar
e7c10d5d31 Rollup merge of #26257 - Tonkpils:patch-1, r=alexcrichton 2015-06-13 18:03:55 +05:30
Manish Goregaokar
2b8e80914a Rollup merge of #26256 - steveklabnik:gh25915, r=alexcrichton
Fixes #25915
2015-06-13 18:03:55 +05:30
Manish Goregaokar
15aa3bbccc Rollup merge of #26255 - steveklabnik:gh25499, r=alexcrichton
Fixes #25499
2015-06-13 18:03:55 +05:30
bors
6d6f086928 Auto merge of #26118 - tshepang:define-trait, r=steveklabnik
I saw a variation of this definition in [an article](http://pcwalton.github.io/blog/2012/08/08/a-gentle-introduction-to-traits-in-rust) by @pcwalton.
2015-06-13 08:34:12 +00:00
bors
7c38de89d4 Auto merge of #26108 - Marwes:field_pun_docs, r=steveklabnik
Adds a mention for the short form pattern syntax. Now without creating a PR to my own fork!

#25779
2015-06-13 07:00:26 +00:00
Leo Correa
57f1036ce9 usize -> u32 to match previous example 2015-06-12 15:59:39 -04:00
Steve Klabnik
d46d229be7 Fix up wording in lifetime elision docs
Fixes #25915
2015-06-12 15:05:09 -04:00
Steve Klabnik
4500019783 Remove unstable feature from TRPL: iterators
Fixes #25499
2015-06-12 15:00:21 -04:00
Markus Westerlind
219ddd1f61 Mention the short form pattern syntax in the book
Explains short form pattern syntax and then introduces the longer
pattern matching as a rebinding of the fields instead.

 #25779
2015-06-12 18:18:45 +02:00
Manish Goregaokar
8f841b24ca Rollup merge of #26229 - Stebalien:versionless-book, r=steveklabnik
They're forever doomed to be out-of-date. Also, don't assume the user is
installing a particular version.

r? @steveklabnik
2015-06-12 11:55:37 +05:30
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
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
Nathan Long
a47d7a752e Explain the --bin flag more clearly 2015-06-11 09:20:14 -04: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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Steve Klabnik
253fb5bd8b Rollup merge of #25883 - steveklabnik:gh25417, r=alexcrichton
Fixes #25417
2015-05-29 15:24:47 -04:00
Steve Klabnik
c7b1f37c59 Rollup merge of #25865 - azerupi:patch-2, r=alexcrichton
"workd" corrected to "world"
2015-05-29 15:24:46 -04:00
Steve Klabnik
5d2af1c724 Rollup merge of #25864 - azerupi:patch-1, r=alexcrichton
There was no opening parenthesis for this closing parenthesis...
2015-05-29 15:24:46 -04:00
Steve Klabnik
e9e2a11a6a Rollup merge of #25788 - maxjacobson:add-missing-space-to-glossary, r=steveklabnik
r? @steveklabnik
2015-05-29 15:24:46 -04:00
Nick Howell
81a413bb01 trpl: eight sections, not seven 2015-05-29 14:29:35 -04:00
Steve Klabnik
5e941877fe Add syntax for multiple lifetimes
Fixes #25417
2015-05-29 12:52:02 -04:00
Steve Klabnik
b218470b4d Make note about $ more prominent.
Fixes #25554
2015-05-29 12:20:32 -04:00
bors
2d447e40e2 Auto merge of #25857 - killercup:patch-14, r=steveklabnik
Thanks to @cers who reported this in killercup/trpl-ebook#14!

r? @steveklabnik
2015-05-29 14:53:59 +00:00
Mathieu David
15aeea5477 Corrected typo
"workd" corrected to "world"
2015-05-29 00:43:39 +02:00
Mathieu David
15ab481322 removed lonely closing parenthesis
There was no opening parenthesis for this closing parenthesis...
2015-05-28 23:47:27 +02:00
bors
9c303944a7 Auto merge of #25835 - steveklabnik:gh25438, r=alexcrichton
Fixes #25438
2015-05-28 15:29:15 +00:00
Pascal Hertleif
2a63cc7715 TRPL: Fix Unescaped URL 2015-05-28 16:18:26 +02:00
bors
4233cbda8a Auto merge of #25849 - reinh:patch-1, r=huonw
Thanks for the awesome book!

r? @steveklabnik
2015-05-28 11:24:38 +00:00
bors
4f66d881a5 Auto merge of #25843 - shepmaster:remove-public-int-and-uint, r=huonw 2015-05-28 09:20:49 +00:00
Rein Henrichs
23ec00751e TRPL: fix typo, borow for borrow 2015-05-27 22:35:46 -07:00
Jake Goulding
a959cc435f Remove mentions of int / uint from public documentation 2015-05-27 19:26:18 -04:00
Steve Klabnik
4db7e56b01 Small wording fix in TRPL: lifetimes
Fixes #25438
2015-05-27 15:02:42 -04:00
bors
e4c64a1499 Auto merge of #25713 - Stebalien:pattern, r=alexcrichton
Needed to support:

```rust
match X {
  pattern if Y ...
}

for pattern in Y {}
```

IMO, this shouldn't require an RFC because it can't interfere with any future language changes (because `pattern if` and `pattern in` are already legal in rust) and can't cause any ambiguity.
2015-05-27 00:42:55 +00:00