436 Commits

Author SHA1 Message Date
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