Commit Graph

416 Commits

Author SHA1 Message Date
Steve Klabnik
ce223a62f1 Mention deref coercions in the String guide.
Fixes #22637
2015-03-08 09:25:50 -04:00
Steve Klabnik
e56fcbcd99 Remove reference to NoSend in concurrency chapter of the book
Fixes #23052
2015-03-08 09:15:06 -04:00
Steve Klabnik
de44baac8b Add default methods to trait documentation 2015-03-08 08:55:17 -04:00
Ryan Prichard
52124d7c80 Fix #23166. Get the Compiler Plugins example compiling again.
* "let met text" was previously of &String type.  Now it is of &str type.

 * Update the slicing syntax.  Both &text[] and text.slice_from() evaluate
   to a &str.

 * We were passing a u32 to expr_usize.  Call expr_u32 instead.
2015-03-07 22:58:28 -08:00
bors
36cd65f786 Auto merge of #22549 - steveklabnik:doc_documentation, r=huonw
This chapter covers writing documentation in depth.

Fixes #4361
Fixes #12862
Fixes #14070
Fixes #14967
2015-03-07 10:01:13 +00:00
Manish Goregaokar
e99b00f6c1 Rollup merge of #23039 - steveklabnik:doc_vec_macro, r=alexcrichton 2015-03-06 08:58:58 +05:30
Steve Klabnik
61a2766136 Note the alternate form of vec in trpl 2015-03-04 16:27:18 -05:00
Steve Klabnik
977d7897fe TRPL: Documentation
This chapter covers writing documentation in depth.

Fixes #4361
Fixes #12862
Fixes #14070
Fixes #14967
2015-03-04 13:32:43 -05:00
Peter Elmers
299b594fde Fix grammar nits in compound-data-types.md
I came across a couple of grammar mistakes when refreshing myself on enums.
2015-03-04 11:02:31 -06:00
Felix S. Klock II
cb1b0dd589 Fix doc example to accommodate overloaded-box. 2015-03-03 21:16:03 +01:00
David Mally
a457dd5c78 Changed wording to use Result instead of Option in several places, fixed example that actually does use an Option 2015-02-28 17:40:04 -05:00
Manish Goregaokar
fcd1c3699a Rollup merge of #22866 - iKevinY:version-output-doc-fix, r=Manishearth
The format of `rustc --version` was changed in #21957; this PR updates TRPL accordingly.
2015-02-28 19:19:01 +05:30
Manish Goregaokar
37760c1f25 Rollup merge of #22875 - kmcallister:maceager, r=sfackler
MacEager is a MacResult implementation for the common case where you've already built each form of AST that you might return.

Fixes #17637. Based on #18814.

This is a [breaking-change] for syntax extensions:

  * MacExpr::new becomes MacEager::expr.

  * MacPat::new becomes MacEager::pat.

  * MacItems::new becomes MacEager::items. It takes a SmallVector directly,
    not an iterator.

r? @sfackler
2015-02-28 19:18:59 +05:30
Keegan McAllister
f66a3f7bba Replace MacExpr / MacPat / MacItems with MacEager
MacEager is a MacResult implementation for the common case where you've already
built each form of AST that you might return.

Fixes #17637. Based on #18814.

This is a [breaking-change] for syntax extensions:

  * MacExpr::new becomes MacEager::expr.

  * MacPat::new becomes MacEager::pat.

  * MacItems::new becomes MacEager::items. It takes a SmallVector directly,
    not an iterator.
2015-02-27 11:17:05 -08:00
Manish Goregaokar
c46fe78c32 Rollup merge of #22732 - jxcl:cargo-new, r=steveklabnik
r? @steveklabnik
2015-02-27 20:37:39 +05:30
Kevin Yap
9a4387fbe0 Update expected output of rustc --version
The format of `rustc --version` was changed in #21957.
2015-02-27 03:13:05 -08:00
Manish Goregaokar
9692f3bc94 Rollup merge of #22635 - kmcallister:macros-chapter, r=steveklabnik
r? @steveklabnik
2015-02-25 10:27:03 +05:30
Keegan McAllister
848a7e6921 Enhance and move information about macro debugging
Fixes #22424.
2015-02-24 16:34:18 -08:00
Keegan McAllister
df0865754e Tweak wording in the macros guide 2015-02-24 16:28:54 -08:00
Keegan McAllister
1804242a2d Add a second, more vexing section on recursive macros
Fixes #22423.
2015-02-24 16:28:54 -08:00
Keegan McAllister
65e1e6bb94 Add a section on recursive macros 2015-02-24 16:28:54 -08:00
Manish Goregaokar
a429bf6a24 Rollup merge of #22458 - steveklabnik:try_in_error_chapter, r=alexcrichton
Fixes #22342
2015-02-25 03:21:30 +05:30
Vadim Petrochenkov
2807a1ce02 Use arrays instead of vectors in tests 2015-02-24 21:15:45 +03:00
Steve Klabnik
f31ea22bff Mention try macro in error chapter
Fixes #22342
2015-02-24 12:31:46 -05:00
Manish Goregaokar
8e88762a83 Rollup merge of #22473 - leejunseok:fix_pointer_example, r=steveklabnik
Revised an example in the Pointers chapter of TRPL (the guide) as per #21575.
2015-02-24 12:08:35 +05:30
Manish Goregaokar
9ed6c33391 Rollup merge of #22719 - steveklabnik:typo_fix, r=alexcrichton 2015-02-24 12:08:32 +05:30
Alexander Bliskovsky
f49fd40f20 Removed {} and small wording fixes to "Hello Cargo!" chapter. 2015-02-23 16:38:11 -05:00
Alexander Bliskovsky
0685e7a185 Added section on cargo new to "Hello Cargo!" chapter. 2015-02-23 16:29:28 -05:00
Manish Goregaokar
f73457a1cc Rollup merge of #22612 - jxcl:iter-replace, r=steveklabnik
r? @steveklabnik

I've updated the iterators chapter to reflect the fact that you can now iterate over `for` loops without calling `.iter()`.
2015-02-23 23:28:47 +05:30
Manish Goregaokar
eb06c0ecd2 Rollup merge of #22593 - brson:spatch, r=steveklabnik
r? @steveklabnik
2015-02-23 23:28:46 +05:30
Manish Goregaokar
0fab2b9535 Rollup merge of #22556 - brson:str, r=steveklabnik
Clarify that `to_string` is how you make `String`. Use a coercion in an example.

r? @steveklabnik
2015-02-23 23:28:46 +05:30
Steve Klabnik
1049e88d1f Static and dynamic dispatch: missing word 2015-02-23 11:27:11 -05:00
Alexander Bliskovsky
9f2b0671f8 Fixed erroneous statements in iterators.md. 2015-02-22 20:26:54 -05:00
Alexander Bliskovsky
72eaf2c30e Switch to &vector notation in the iterators chapter. 2015-02-22 20:26:54 -05:00
Manish Goregaokar
a9570e5549 Rollup merge of #22625 - inrustwetrust:dispatch-doc-grammar, r=huonw
As far as I could tell from discussions in other docs pull requests, American spelling is preferred for the docs?
2015-02-22 01:49:46 +05:30
Manish Goregaokar
b7ac60a2f1 Rollup merge of #22524 - stevencrockett:master, r=steveklabnik
The text is referring to the io module despite the code using the old_io module.
2015-02-22 01:47:14 +05:30
Manish Goregaokar
9d650ae723 Rollup merge of #22515 - adamhjk:add-else-if-to-docs, r=steveklabnik
Adds an example of `else if` to the If section of The Rust Programming
Language.

r? @steveklabnik
2015-02-22 01:46:42 +05:30
Manish Goregaokar
11c70a3b09 Rollup merge of #22267 - steveklabnik:fix_lie, r=Gankro
Otherwise, this line is a lie.
2015-02-22 01:46:03 +05:30
inrustwetrust
1b20767460 Minor grammar/spelling fixes to the "Static and Dynamic Dispatch" doc 2015-02-21 11:50:25 +01:00
Brian Anderson
fcc21b36a3 docs: Explain static dispatch advantage more clearly 2015-02-20 11:41:39 -08:00
Brian Anderson
96be55376e book: Minor clarifications about strings 2015-02-19 18:39:38 -08:00
Steven Crockett
e0067f9852 docs: correct guessing game to mention old_io module instead of io
The text is referring to the io module despite the code using the old_io module.
2015-02-19 05:13:49 +00:00
Adam Jacob
cec404a066 Add documentation for else if to trpl
Adds an example of `else if` to the If section of The Rust Programming
Language.

r? @steveklabnik
2015-02-18 16:26:39 -08:00
Alex Crichton
231eeaa35b rollup merge of #22502: nikomatsakis/deprecate-bracket-bracket
Conflicts:
	src/libcollections/slice.rs
	src/libcollections/str.rs
	src/librustc/middle/lang_items.rs
	src/librustc_back/rpath.rs
	src/librustc_typeck/check/regionck.rs
	src/libstd/ffi/os_str.rs
	src/libsyntax/diagnostic.rs
	src/libsyntax/parse/parser.rs
	src/libsyntax/util/interner.rs
	src/test/run-pass/regions-refcell.rs
2015-02-18 15:48:40 -08:00
Niko Matsakis
9ea84aeed4 Replace all uses of &foo[] with &foo[..] en masse. 2015-02-18 17:36:03 -05:00
Alex Crichton
5250a82f79 rollup merge of #22497: nikomatsakis/suffixes
Conflicts:
	src/librustc_trans/trans/tvec.rs
2015-02-18 14:35:01 -08:00
Alex Crichton
b90e40718f rollup merge of #22484: riginding/master 2015-02-18 14:32:12 -08:00
Alex Crichton
1860ee521a std: Implement CString-related RFCs
This commit is an implementation of [RFC 592][r592] and [RFC 840][r840]. These
two RFCs tweak the behavior of `CString` and add a new `CStr` unsized slice type
to the module.

[r592]: https://github.com/rust-lang/rfcs/blob/master/text/0592-c-str-deref.md
[r840]: https://github.com/rust-lang/rfcs/blob/master/text/0840-no-panic-in-c-string.md

The new `CStr` type is only constructable via two methods:

1. By `deref`'ing from a `CString`
2. Unsafely via `CStr::from_ptr`

The purpose of `CStr` is to be an unsized type which is a thin pointer to a
`libc::c_char` (currently it is a fat pointer slice due to implementation
limitations). Strings from C can be safely represented with a `CStr` and an
appropriate lifetime as well. Consumers of `&CString` should now consume `&CStr`
instead to allow producers to pass in C-originating strings instead of just
Rust-allocated strings.

A new constructor was added to `CString`, `new`, which takes `T: IntoBytes`
instead of separate `from_slice` and `from_vec` methods (both have been
deprecated in favor of `new`). The `new` method returns a `Result` instead of
panicking.  The error variant contains the relevant information about where the
error happened and bytes (if present). Conversions are provided to the
`io::Error` and `old_io::IoError` types via the `FromError` trait which
translate to `InvalidInput`.

This is a breaking change due to the modification of existing `#[unstable]` APIs
and new deprecation, and more detailed information can be found in the two RFCs.
Notable breakage includes:

* All construction of `CString` now needs to use `new` and handle the outgoing
  `Result`.
* Usage of `CString` as a byte slice now explicitly needs a `.as_bytes()` call.
* The `as_slice*` methods have been removed in favor of just having the
  `as_bytes*` methods.

Closes #22469
Closes #22470
[breaking-change]
2015-02-18 14:15:43 -08:00
Junseok Lee
8e0e87fc32 revised pointer example 2015-02-18 13:22:59 -08:00
Niko Matsakis
8c34b26606 Update docs by dropping suffixes except where they served to instruct. 2015-02-18 09:09:14 -05:00
Ryan Riginding
b8527c07dc Fixed link in ffi documentation 2015-02-18 09:16:22 +01:00
Alex Crichton
665ea963d3 Test fixes and rebase conflicts 2015-02-17 19:42:28 -08:00
Alex Crichton
6ac3799b75 Test fixes and rebase conflicts 2015-02-17 17:27:46 -08:00
Alex Crichton
311fc36a57 rollup merge of #22123: steveklabnik/doc_where_clauses
Closes #21859.
2015-02-17 15:13:42 -08:00
Manish Goregaokar
096b1052d0 fix doctest 2015-02-17 21:28:54 +05:30
Manish Goregaokar
09eb965903 Rollup merge of #22393 - kmcallister:macros-chapter , r=steveklabnik
This is a more introductory document, suitable for Part II. The arcane details move to an "Advanced macros" chapter in Part III.

Conflicts:
	src/doc/trpl/macros.md
2015-02-17 17:33:53 +05:30
Manish Goregaokar
9eed8b1c27 Rollup merge of #22410 - Reignbeaux:master, r=steveklabnik
I just stumbled on a typo and fixed it.
2015-02-17 17:33:19 +05:30
Manish Goregaokar
4a7eed1e01 Rollup merge of #22333 - caipre:patch-1, r=steveklabnik
The `Circle::grow` method multiplies the radius by a factor of 10, not 2.
2015-02-17 17:33:17 +05:30
Manish Goregaokar
2aa31827ed Rollup merge of #22296 - steveklabnik:gh21577, r=Gankro
Fixes #21577.
2015-02-17 17:33:17 +05:30
Manish Goregaokar
2d94c4482d Rollup merge of #22027 - iblech:patch-1, r=steveklabnik
The first commit adds a short note which I believe will reduce worries in people who work with closures very often and read the Rust book for their first time.

The second commit consists solely of tiny typo fixes. In some cases, I changed "logical" quotations like

    She said, "I like programming".

to

    She said, "I like programming."

because the latter seems to be the prevalent style in the book.
2015-02-17 15:41:30 +05:30
Manish Goregaokar
901d2c7b0d Rollup merge of #22241 - kmcallister:macro-plugin-cleanup, r=sfackler 2015-02-17 06:23:41 +05:30
Manish Goregaokar
adea99c5d9 Rollup merge of #22378 - jxcl:master, r=steveklabnik
The Rust Programming Language book has no explanation of what `i32` actually means. I have added an explanation for the first time the reader encounters this type.
2015-02-17 06:23:39 +05:30
Manish Goregaokar
47814a4b29 Rollup merge of #22377 - thiagooak:book-glossary, r=steveklabnik
@steveklabnik Trying out the Glossary idea.

Added the paragraph about 'complicated words' because I think it would be useful to those contributing to the book. Maybe this should not be here
2015-02-17 06:23:38 +05:30
Manish Goregaokar
fe3b6a1662 Rollup merge of #22368 - thiagooak:book-arity, r=steveklabnik
#21568
2015-02-17 06:23:37 +05:30
Manish Goregaokar
e0477fa7f9 Rollup merge of #22365 - serejkus:configs-link, r=steveklabnik
The book in "hello-world" tells that there are configs for some programs and gives a link to main repo's src/etc. Actually, these configs moved to separate repos some days ago. This PR adds a markdown file with links and moves "hello-world" link about editors to point directly to this new file.
2015-02-17 06:23:37 +05:30
Ingo Blechschmidt
918d097c8e Tiny typo changes (per discussion in pull request #22027) 2015-02-16 23:13:58 +01:00
Keegan McAllister
6cef0e5dae Rewrite the macros chapter
This is a more introductory document, suitable for Part II.  The arcane details
move to an "Advanced macros" chapter in Part III.
2015-02-16 10:59:40 -08:00
Henrik Schopmans
ad827af11c Fixed typo and removed unfitting 'can' 2015-02-16 17:58:17 +00:00
Steve Klabnik
faf0f5b196 Document where clauses.
Closes #21859.
2015-02-16 05:31:26 -05:00
Steve Klabnik
817f3a4d37 Remove use of range() in iterator docs.
Fixes #21577.
2015-02-16 04:53:21 -05:00
Manish Goregaokar
cea2bbfe27 Fix grammar 2015-02-16 03:56:52 +05:30
Thiago Carvalho
9783cc2822 improve text 2015-02-15 20:41:44 +01:00
Alexander Bliskovsky
74ba529701 Added explanation to trpl of integer types. 2015-02-15 13:51:36 -05:00
Thiago Carvalho
4cf4e8bc0c glossary 2015-02-15 19:37:49 +01:00
Thiago Carvalho
89822e1cbc Book - short explanation of arity 2015-02-15 14:29:40 +01:00
Manish Goregaokar
97503e1c1e Rollup merge of #22256 - brson:installer-next, r=alexcrichton
Highlights:

* Adds an 'uninstall.sh' script to `/usr/local/lib/rustlib/uninstall.sh`, the path to which is printed during installation.
* Components can be deselected during install, like `install.sh --without=rust-docs`.
* Components can be listed with `install.sh --list-components`.
* Vastly reduces spew during install (but supporting a `--verbose` option).

Typicall install run looks like:

```
brian@brianX1:~/dev/multirust⟫ sudo ./install.sh
[sudo] password for brian:
install: creating uninstall script at /usr/local/lib/rustlib/uninstall.sh
install: installing component 'rustc'
install: installing component 'cargo'
install: installing component 'rust-docs'

    Rust is ready to roll.
```

Needs to be merged right before corresponding PRs to cargo and rust-packaging.

Fixes https://github.com/rust-lang/rust/issues/21117
Fixes https://github.com/rust-lang/rust/issues/20283
2015-02-15 18:42:48 +05:30
Manish Goregaokar
8111d65afc Rollup merge of #22293 - steveklabnik:gh12891, r=brson
Fixes #12891.
2015-02-15 18:42:47 +05:30
Manish Goregaokar
a5bdb087d0 Rollup merge of #22329 - thiagooak:book, r=steveklabnik
on crates and modules - replace \")\"
on more strings - improve readability of grapheme
2015-02-15 18:42:46 +05:30
Manish Goregaokar
a0019989fe Rollup merge of #22324 - Manishearth:patch-1, r=steveklabnik
(fixes #22317)

rollupable
2015-02-15 18:42:45 +05:30
Manish Goregaokar
70647ec7c5 Rollup merge of #22305 - steveklabnik:gh20948, r=alexcrichton
Fixes #20948
2015-02-15 18:42:45 +05:30
Manish Goregaokar
0f66e314db Rollup merge of #22295 - steveklabnik:gh9980, r=alexcrichton
Fixes #9980
2015-02-15 18:42:44 +05:30
Manish Goregaokar
1ee09f918d Rollup merge of #22280 - Unode:patch-1, r=steveklabnik 2015-02-15 18:42:44 +05:30
Manish Goregaokar
f96fb8ecb8 Rollup merge of #22275 - steveklabnik:gh7538, r=huonw
We use them in some places, but never actually talk about the syntax.
2015-02-15 18:28:36 +05:30
Manish Goregaokar
ed9ffced22 Rollup merge of #22271 - steveklabnik:gh22035, r=nikomatsakis
Fixes #22035. (mostly by making it irrelevant)
2015-02-15 18:27:33 +05:30
Manish Goregaokar
cff0b78ce7 Rollup merge of #22264 - fhahn:tiny-doc-fix2, r=Gankro
While having a look at the Rust book I found this tiny error. In my opinion this if should be all lowercase, because it follows a colon, but I am no native speaker, so I am probably wrong. Also it is a very tiny change, so feel free to include it in any bigger documentation patch.
2015-02-15 18:26:47 +05:30
Manish Goregaokar
b13fddda20 Rollup merge of #22132 - steveklabnik:gh16645, r=alexcrichton
Fixes #16645

Fixing this in any deeper way will require an RFC, so let's just document the current behavior.
2015-02-15 18:22:31 +05:30
Elantsev Serj
336dd6c8f0 book: link to a file with configs links 2015-02-15 14:38:47 +03:00
caipre
1ac10dde6f Minor change in 'method-syntax' chapter 2015-02-14 12:27:17 -05:00
Thiago Carvalho
f658efe6c3 Documentation Fixes
crates-and-modules - replace ")"
more string - improve readability of grapheme
2015-02-14 16:55:53 +01:00
Manish Goregaokar
657081bc9c Normalize range syntax used in concurrency.md
(fixes #22317)
2015-02-14 16:28:18 +05:30
Steve Klabnik
6d2e3d4bc0 Note that Vec<T> is heap allocated.
Fixes #20948
2015-02-13 18:49:21 -05:00
Steve Klabnik
ece19bfc70 Enhance static mut example in FFI chapter.
Fixes #9980
2015-02-13 14:57:55 -05:00
Steve Klabnik
6647d8306e Mention type placeholders in the book.
Fixes #12891.
2015-02-13 14:36:16 -05:00
Steve Klabnik
5ce1b33502 Reintroduce box syntax where needed
Otherwise, this line is a lie.
2015-02-13 12:35:56 -05:00
Renato Alves
f48eda8dc9 Fix small copy-paste typo 2015-02-13 17:09:46 +00:00
Steve Klabnik
65eab6eb97 Add diverging functions to the book.
We use them in some places, but never actually talk about the syntax.
2015-02-13 10:05:33 -05:00
Steve Klabnik
58a7d58686 Re-word paragraph about enums and equality
Fixes #22035.
2015-02-13 09:37:05 -05:00
Steve Klabnik
ce22f30b9e Make note of doc duplication with reexports
Fixes #16645
2015-02-13 08:56:44 -05:00
Florian Hahn
f28a33359b Make if after colon lowercase 2015-02-13 10:24:05 +01:00
Brian Anderson
b2f70a4159 Update uninstall instructions 2015-02-12 20:36:20 -08:00
Keegan McAllister
b7683fc02b Warn when linking a plugin into a non-plugin crate
Fixes #22202.
2015-02-12 12:44:31 -08:00
Nick Sarten
830009543d Updated usage of StrExt.parse() as per a recommendation by edwardw. 2015-02-12 20:48:09 +13:00
Nick Sarten
9e9b1d6085 Fixed one newly created instance of range(start, end). 2015-02-12 18:51:32 +13:00
Nick Sarten
5fa9222572 Updated documentation to use range notation syntax.
Replaced outdated use of the `range(start, end)` function where
approriate with `start..end`, and tweaked the examples to compile and run with the latest rust. I also fixed two periphery compile issues in reference.md which were occluding whether there were any new errors created by these changes, so I fixed them.
2015-02-12 18:51:31 +13:00
Alex Crichton
637a89bdf6 rollup merge of #22120: lukesteensen/closures_guide
Based off https://github.com/rust-lang/rust/pull/21843, it looks like the syntax in the Closures guide is outdated.
2015-02-10 08:43:03 -08:00
Alex Crichton
011b77b69c rollup merge of #22106: steveklabnik/doc_trait_objects
I started to write up some docs on this, and then realized I was just repeating http://huonw.github.io/blog/2015/01/peeking-inside-trait-objects/ but worse. @huonw previously said that we can use this content if we wanted, so I made some tweaks and integrated it into the book.

Fixes #21707
2015-02-10 08:42:51 -08:00
Alex Crichton
7fcc330ea3 rollup merge of #22007: thiagooak/master
From #21829 clarify equivalency of tuples
2015-02-10 08:41:38 -08:00
Steve Klabnik
dbccd70a57 Add documentation on trait objects.
Largely taken from @huonw's
http://huonw.github.io/blog/2015/01/peeking-inside-trait-objects/

Fixes #21707
2015-02-09 21:38:49 -05:00
Luke Steensen
1163cef1c4 remove obsolete closure syntax from the guide 2015-02-09 15:32:21 -06:00
Keegan McAllister
93b642d974 Use a crate attribute to load plugins
#[plugin] #[no_link] extern crate bleh;

becomes a crate attribute

    #![plugin(bleh)]

The feature gate is still required.

It's almost never correct to link a plugin into the resulting library /
executable, because it will bring all of libsyntax and librustc with it.
However if you really want this behavior, you can get it with a separate
`extern crate` item in addition to the `plugin` attribute.

Fixes #21043.
Fixes #20769.

[breaking-change]
2015-02-09 13:27:27 -08:00
Keegan McAllister
d788588dce Feature-gate #![no_std]
Fixes #21833.

[breaking-change]
2015-02-07 10:49:58 -08:00
Keegan McAllister
67350bc868 Don't use std:: paths in syntax extensions when compiling a #![no_std] crate
Fixes #16803.
Fixes #14342.
Fixes half of #21827 -- slice syntax is still broken.
2015-02-07 10:49:57 -08:00
Ingo Blechschmidt
526e748846 Fix several tiny typos 2015-02-07 00:39:28 +01:00
bors
d3732a12e8 Auto merge of #21997 - Manishearth:rollup, r=alexcrichton
None
2015-02-06 23:30:17 +00:00
Ingo Blechschmidt
994ccd30a0 Note that types do not have to be declared in closures
Without such a clarification, people who know and love closures (for instance
programmers with a Haskell background) might fear that types would have to
be declared in closures and that therefore using closures would be much more
unwieldy.
2015-02-06 23:14:51 +01:00
bors
7884eb8e2f Auto merge of #21860 - mdinger:enum_rewording, r=steveklabnik
Second try to address https://github.com/rust-lang/rust/issues/21196 . A lot that was removed at the end basically seemed repetitive showing simple variations on the same type. It seems more effective to just show more variants at the beginning instead.

If you want to pack values into an example, better to use `i32` or some digit than `String` because you don't need the `to_string()` method.

I didn't mention `derive` because:
* I can't explain it (only use it)
* I don't have a link to a good description (maybe rustbyexample but you probably want links internal)
* Giving more detail especially stating that `==` won't work and why should help quite a bit

I didn't `make test` or check links but I will if this will be merged.

@steveklabnik
2015-02-06 17:45:19 +00:00
Thiago Carvalho
d3c787a94f Book Compound Data Types update
From Issue 21829 clarify equivalency of tuples
2015-02-06 15:36:31 +01:00
bors
0b56e9b1cb Auto merge of #21962 - vrinek:printable-book, r=steveklabnik
Tested on:

* Safari on OSX
* Firefox on OSX
2015-02-06 13:57:11 +00:00
Manish Goregaokar
08a2bef632 Rollup merge of #21954 - jbcrail:fix-misspelled-comments, r=steveklabnik
The spelling corrections were made in both documentation comments and
regular comments.
2015-02-06 16:21:06 +05:30
bors
f3573aa834 Auto merge of #21609 - GarrettHeel:master, r=steveklabnik
Now that it's no longer feature gated, add docs for wildcard syntax.
2015-02-06 05:52:20 +00:00
Kostas Karachalios
a40df9ddb9 Remove unused src/doc/trpl/rust-book.css 2015-02-05 11:57:06 +01:00
Joseph Crail
dc2e444e50 Fix for misspelled comments.
The spelling corrections were made in both documentation comments and
regular comments.
2015-02-04 23:00:02 -05:00
Steve Klabnik
5401f086f0 A concurrency chapter to replace the tasks chapter.
Fixes #18936
Fixes #18938
Fixes #20038
Fixes #8395
Fixes #2080
Fixes #21194
2015-02-04 21:47:16 -05:00
Alex Crichton
cd47cf906b rollup merge of #21865: steveklabnik/gh21501
Fixes #21501

r? @huonw
2015-02-02 11:01:26 -08:00
Alex Crichton
0a10e32a5e rollup merge of #21852: FreeFull/patch-1
Misspelling fix.
2015-02-02 11:01:21 -08:00
Steve Klabnik
4197e5fe03 Fix discrepencies in the testing chapter
Fixes #21501
2015-02-02 04:40:57 -05:00
mdinger
a9583d6236 Give more detail about eq in book about enums 2015-02-02 01:33:38 -05:00
Filip Szczepański
f371af4815 Closes issue #21850 2015-02-02 00:46:34 +00:00
madmalik
e9ade4826a updating the link to rustdoc
http://doc.rust-lang.org/rustdoc.html states that its content was moved to http://doc.rust-lang.org/book/documentation.html
2015-01-31 12:27:57 +01:00
Alex Crichton
3a2530d611 Test fixes and rebase conflicts
Also some tidying up of a bunch of crate attributes
2015-01-30 14:53:34 -08:00
Alex Crichton
eb3a06093c rollup merge of #21783: lukesteensen/patch-1 2015-01-30 12:03:37 -08:00
Alex Crichton
a75e308a61 rollup merge of #21780: steveklabnik/no_as_slice
Use auto deref instead.
2015-01-30 12:03:35 -08:00
Alex Crichton
ac1a03d742 rollup merge of #21718: alexcrichton/stabilize-from-str
This commits adds an associated type to the `FromStr` trait representing an
error payload for parses which do not succeed. The previous return value,
`Option<Self>` did not allow for this form of payload. After the associated type
was added, the following attributes were applied:

* `FromStr` is now stable
* `FromStr::Err` is now stable
* `FromStr::from_str` is now stable
* `StrExt::parse` is now stable
* `FromStr for bool` is now stable
* `FromStr for $float` is now stable
* `FromStr for $integral` is now stable
* Errors returned from stable `FromStr` implementations are stable
* Errors implement `Display` and `Error` (both impl blocks being `#[stable]`)

Closes #15138
2015-01-30 12:03:20 -08:00
Luke Steensen
0a48818589 Fix a missed io => old_io 2015-01-30 11:53:12 -06:00
Alex Crichton
0cdde6e5e0 std: Stabilize FromStr and parse
This commits adds an associated type to the `FromStr` trait representing an
error payload for parses which do not succeed. The previous return value,
`Option<Self>` did not allow for this form of payload. After the associated type
was added, the following attributes were applied:

* `FromStr` is now stable
* `FromStr::Err` is now stable
* `FromStr::from_str` is now stable
* `StrExt::parse` is now stable
* `FromStr for bool` is now stable
* `FromStr for $float` is now stable
* `FromStr for $integral` is now stable
* Errors returned from stable `FromStr` implementations are stable
* Errors implement `Display` and `Error` (both impl blocks being `#[stable]`)

Closes #15138
2015-01-30 08:52:44 -08:00
Steve Klabnik
19a1f7ed06 Don't use as_slice() in docs
Use deref coercions instead.
2015-01-30 11:22:45 -05:00
Jorge Aparicio
f9865eac18 fix fallout 2015-01-30 10:37:44 -05:00
Jorge Aparicio
788181d405 s/Show/Debug/g 2015-01-29 07:49:02 -05:00
Manish Goregaokar
36d0e90e6b Rollup merge of #21623 - dinfuehr:patch-1, r=alexcrichton 2015-01-27 22:24:03 +05:30
Manish Goregaokar
cb63bcb98c Rollup merge of #21618 - snowe2010:documentation, r=Gankro
Lifetime elision with two input references is not clear.
Closes #21284
2015-01-27 22:24:03 +05:30
Alex Crichton
3a07f859b8 Fallout of io => old_io 2015-01-26 16:01:16 -08:00
Dominik Inführ
a09c085976 more-strings.md: repaired links to API 2015-01-25 15:20:49 +01:00
Tyler Thrailkill
a0ed0f30ba Add example for Lifetime Elision with two inputs
Lifetime elision with two input references is not clear.
Closes #21284
2015-01-25 01:24:41 -07:00
Garrett Heel
98c46c30ed docs: add wildcard syntax in use for modules 2015-01-25 12:58:13 +10:00
Flavio Percoco Premoli
df2ab66044 Rollup merge of #21560 - steveklabnik:remove_discuss_link, r=sanxiyn
We've had some new people post questions to Discuss, so this should be removed for now. http://discuss.rust-lang.org/t/did-you-mean-to-point-to-discuss-rust-lang-org-as-a-user-forum/1381
2015-01-24 10:42:42 +01:00
Flavio Percoco Premoli
d19f28b2f2 Rollup merge of #21108 - steveklabnik:gh16969, r=alexcrichton
Fixes #16969
2015-01-24 10:42:39 +01:00
Steve Klabnik
91037a417e remove discuss link from the book 2015-01-23 13:53:19 -05:00
Steve Klabnik
aca793966a Soup up 'method syntax' chapter of the Book
Fixes #16969
2015-01-23 11:04:55 -05:00
Steve Klabnik
9fb672b094 Rollup merge of #21517 - SeanTAllen:master, r=steveklabnik
Lifetime elision documentation was reference a previously existing function
that doesn't exist. After talking with Steve Klabnik, I confirmed the correct
function to be referenced and updated documentation accordingly.
2015-01-22 18:10:01 -05:00
Steve Klabnik
aa874abc0d Rollup merge of #21479 - steveklabnik:rustdoc_to_book, r=alexcrichton
Fixes #21430
2015-01-22 18:09:59 -05:00
Steve Klabnik
1644978616 Rollup merge of #21450 - alfie:book2, r=steveklabnik
Compiling won't produce an executable just yet because (as stated in the next
paragraph) there are errors. By removing this sentance, the reader won't get
confused when they expect a successful compile i.e. if they don't read ahead one
paragraph, they are going to be checking their code and wondering why it's not
compiling.
2015-01-22 18:09:58 -05:00
Steve Klabnik
5f71c22d87 Rollup merge of #21373 - angst7:pointer_doc_1, r=steveklabnik
Updated incorrect error messages, and removed explicit return statements from example code.
2015-01-22 18:09:58 -05:00
Steve Klabnik
d1c7ae476b Rollup merge of #21056 - steveklabnik:return_strings, r=sfackler
When we moved over to the book, we lost this.
2015-01-22 18:09:57 -05:00
Steve Klabnik
cef82952b2 Return the String guide to its former glory.
When we moved over to the book, we lost this.
2015-01-22 13:33:44 -05:00
Sean T Allen
42cbd7a9bd Reference correct fn during lifetime ellision 2015-01-22 13:17:23 -05:00
bors
8160fc4786 Auto merge of #21078 - js-ojus:master, r=steveklabnik
* Include an illustration of a function that accepts two closures.
2015-01-22 16:50:17 +00:00
Steve Klabnik
23da54d894 Move rustdoc.md into the book
Fixes #21430
2015-01-21 14:59:25 -05:00
Alex Crichton
886c6f3534 rollup merge of #21258: aturon/stab-3-index
Conflicts:
	src/libcore/ops.rs
	src/librustc_typeck/astconv.rs
	src/libstd/io/mem.rs
	src/libsyntax/parse/lexer/mod.rs
2015-01-21 11:53:49 -08:00
Aaron Turon
537889aa78 Fix type inference problems in tests and docs 2015-01-21 11:16:00 -08:00
Alex Crichton
de89dc883e rollup merge of #21433: alfie/typobook
Tiny fix
2015-01-21 09:16:38 -08:00
Alex Crichton
4b6a0563c6 rollup merge of #21394: japaric/nonono
r? @FlaPer87
2015-01-21 09:14:42 -08:00
Alex Crichton
e4434f97af rollup merge of #21393: loganchien/fix-if-stmt-doc-title
Slightly change the title to make it look more consistent with other chapters (e.g. Match.)
2015-01-21 09:14:41 -08:00
Jorge Aparicio
ed56c15ceb remove NoSendItem and NoSyncItem 2015-01-21 00:45:35 -05:00
Alfie John
1f6eb344d0 docs: Update for clarity
Compiling won't produce an executable just yet because (as stated in the next
paragraph) there are errors. By removing this sentance, the reader won't get
confused when they expect a successful compile i.e. if they don't read ahead one
paragraph, they are going to be checking their code and wondering why it's not
compiling.
2015-01-21 01:37:39 +00:00
Alfie John
1f50542a0d docs: typo 2015-01-20 19:02:09 +00:00
Barosl LEE
01ae97b45e Rollup merge of #21427 - steveklabnik:generics_fix, r=alexcrichton
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-21 02:16:52 +09:00
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
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
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
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
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
Steve Klabnik
6553c0f5eb Fix more rollup problems 2015-01-17 15:25:42 -05: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
we
812ce6c190 Remove unnecessary explicit conversions to *const T 2015-01-17 07:34:10 +03: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
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
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
7aa7707af9 rollup merge of #21040: steveklabnik/gh20037
Fixes #20037.
2015-01-15 14:11:37 -08:00