Commit Graph

37850 Commits

Author SHA1 Message Date
Steve Klabnik 72ee472146 Rollup merge of #24848 - bluss:deref-string, r=alexcrichton
Improve example for as_string and add example for as_vec

Provide a better example of `as_string` / `DerefString`'s unique capabilities.
Use an example where (for an unspecified reason) you need a &String, and
show how `as_string` solves the problem without needing an allocation.
2015-04-27 10:26:18 -04:00
Steve Klabnik 130240afc6 Rollup merge of #24804 - liigo:new-trait-color, r=steveklabnik
Fixes #24441 

Preview:
![new-trait-color](https://cloud.githubusercontent.com/assets/346530/7331922/d6cbcf72-eb58-11e4-8a1d-4ca5e3683ed2.png)
2015-04-27 10:26:18 -04:00
Steve Klabnik 08c0299a82 Rollup merge of #24797 - roryokane:patch-1, r=nikomatsakis
The minus sign ‘−’ is the same width as the plus sign ‘+’, so the button’s transition between the two symbols will look slightly smoother.

If you don’t want to use literal Unicode characters, I can change ‘−’ to `\u2212`. I’m not starting with that suggestion because ‘−’ is easier to read and understand, and if I used `\u2212`, it would probably be necessary to also comment the usage on each line to explain what character is being used.
2015-04-27 10:26:18 -04:00
bors 5c60145323 Auto merge of #24820 - bradking:fix-windows-process-spawn-command-line, r=alexcrichton
Fix `make_command_line` for the case of backslashes at the end of an
argument requiring quotes.  We must encode the command and arguments
such that `CommandLineToArgvW` recovers them in the spawned process.
Simplify the logic by using a running count of backslashes as they
are encountered instead of looking ahead for quotes following them.

Extend `test_make_command_line` to additionally cover:

* a leading quote in an argument that requires quotes,
* a backslash before a quote in an argument that requires quotes,
* a backslash at the end of an argument that requires quotes, and
* a backslash at the end of an argument that does not require quotes.
2015-04-27 10:49:11 +00:00
Rory O’Kane 72e8f7b1ab Change literal minus ‘−’ to HTML entity ‘−’
So that if people accidentally delete the character, they won’t re-type it as a hyphen, which would cause bugs.

I changed ‘+’ too, even though it won’t be re-typed incorrectly, so that it is easier to see when plus is used as a symbol for the button, and when it is used as an operator in code. It also makes it clearer that the use of an entity for minus is on purpose, so people won’t be tempted to replace the entity incorrectly with a hyphen character.
2015-04-27 02:41:45 -04:00
Rory O’Kane 02428dfde5 Change hyphen to minus in HTML template too 2015-04-27 02:26:58 -04:00
bors f4ab2b3a25 Auto merge of #24849 - gareins:master, r=steveklabnik
Previous borrow() is enough to make borrow_mut() panic, no need to have borrow_mut() twice. [This](http://is.gd/woKKAW)
2015-04-27 04:35:27 +00:00
bors 43a273fed0 Auto merge of #24844 - diwic:patch-1, r=steveklabnik
I figure I'd start easy with fixing a simple documentation bug. This is also a test to see that I got everything right w r t the fork/pull request process.
2015-04-27 02:35:32 +00:00
Ulrik Sverdrup 84ef3b5351 collections: Improve example for as_string and as_vec 2015-04-27 02:10:42 +02:00
bors 5fb0259edf Auto merge of #24850 - frewsxcv:patch-18, r=steveklabnik 2015-04-26 23:25:37 +00:00
Corey Farwell b2757edff8 Indicate function call is code-like in doc-comment 2015-04-26 17:41:16 -04:00
gareins de35823d49 IMO better borrow_mut() documentation on RefCell
Previous borrow() is enough to make borrow_mut() panic, no need to have borrow_mut() twice. [This](http://is.gd/woKKAW)
2015-04-26 23:16:49 +02:00
bors e4b80647c8 Auto merge of #24839 - frewsxcv:patch-17, r=steveklabnik 2015-04-26 21:07:41 +00:00
bors bba18fec45 Auto merge of #24829 - jooert:fix22673, r=pnkfelix 2015-04-26 19:06:38 +00:00
diwic d2d8898423 book: Fix broken link to unsafe chapter 2015-04-26 20:32:14 +02:00
bors b29c2efd42 Auto merge of #24828 - jooert:fix23253, r=pnkfelix
r? @alexcrichton
2015-04-26 17:04:24 +00:00
Corey Farwell a249910d34 Utilize while let instead of loop with break in doc-comment 2015-04-26 10:10:51 -04:00
bors d3724342a3 Auto merge of #24807 - luqmana:nullable-enum-opt-dst-raw-pointers, r=jakub-
Fixes #23433.
2015-04-26 13:03:31 +00:00
bors 6365080c5c Auto merge of #23085 - goffrie:interpolating-quote, r=huonw
This changes the `ToTokens` implementations for expressions, statements, etc. with almost-trivial ones that produce `Interpolated(*Nt(...))` pseudo-tokens. In this way, quasiquote now works the same way as macros do: already-parsed AST fragments are used as-is, not reparsed.

The `ToSource` trait is removed. Quasiquote no longer involves pretty-printing at all, which removes the need for the `encode_with_hygiene` hack. All associated machinery is removed.

New `Nonterminal`s are added: NtArm, NtImplItem, and NtTraitItem. These are just for quasiquote, not macros.

`ToTokens` is no longer implemented for `Arg` (although this could be added again) and `Generics` (which I don't think makes sense).

This breaks any compiler extensions that relied on the ability of `ToTokens` to turn AST fragments back into inspectable token trees. For this reason, this closes #16987.

As such, this is a [breaking-change].

Fixes #16472.
Fixes #15962.
Fixes #17397.
Fixes #16617.
2015-04-26 09:52:28 +00:00
bors b0043db465 Auto merge of #24367 - ebfull:fix_ice_cat_expr, r=pnkfelix
An actual typeck error is the cause of many failed compilations but an
unrelated bug is being reported instead. It is triggered because a typeck
error is presumably not yet identified during compiler execution, which
would normally bypass an invariant in the presence of other errors. In
this particular situation, we delay the reporting of the bug until
abort_if_errors().

Closes #23827, closes #24356, closes #23041, closes #22897, closes #23966,
closes #24013, and closes #23729

**There is at least one situation where this bug may still be genuinely
triggered (#23437).**
2015-04-26 05:32:16 +00:00
Geoffry Song 24ef905273 Remove FakeExtCtxt from qquote tests.
Instead create an ExtCtxt structure.
2015-04-26 01:09:36 -04:00
bors 61a5e46726 Auto merge of #24825 - rkruppe:reference-audit, r=steveklabnik
Transplant the relevant changes (turns out to be all of them) to `grammar.md`, and remove all grammar talk from `reference.md`. Sorry for the chaos.

The second commit, further below, goes over the comments and whitespace sections.

r? @steveklabnik
2015-04-26 03:34:38 +00:00
Geoffry Song ea892dc70b Remove remaining tests for hygiene-encoded identifiers.
Such things no longer exist.
2015-04-25 21:42:10 -04:00
Geoffry Song 2d9831dea5 Interpolate AST nodes in quasiquote.
This changes the `ToTokens` implementations for expressions, statements,
etc. with almost-trivial ones that produce `Interpolated(*Nt(...))`
pseudo-tokens. In this way, quasiquote now works the same way as macros
do: already-parsed AST fragments are used as-is, not reparsed.

The `ToSource` trait is removed. Quasiquote no longer involves
pretty-printing at all, which removes the need for the
`encode_with_hygiene` hack. All associated machinery is removed.

A new `Nonterminal` is added, NtArm, which the parser now interpolates.
This is just for quasiquote, not macros (although it could be in the
future).

`ToTokens` is no longer implemented for `Arg` (although this could be
added again) and `Generics` (which I don't think makes sense).

This breaks any compiler extensions that relied on the ability of
`ToTokens` to turn AST fragments back into inspectable token trees. For
this reason, this closes #16987.

As such, this is a [breaking-change].

Fixes #16472.
Fixes #15962.
Fixes #17397.
Fixes #16617.
2015-04-25 21:42:10 -04:00
bors 20adc9533d Auto merge of #24815 - heejongahn:master, r=steveklabnik
At https://doc.rust-lang.org/book/vectors.html, there should be a link to
Generics page but the link address is ommitted and thus link is not functioning
well. So I added a link definition to the vectors.md.

r? @steveklabnik
2015-04-26 01:37:58 +00:00
Robin Kruppe 0ea193def9 Reference audit: comments and whitespace sections 2015-04-26 02:02:13 +02:00
bors da623844a9 Auto merge of #24718 - tamird:fix-quote-tests, r=alexcrichton
Sniped from @rprichard's work in #24537. r? @alexcrichton
2015-04-25 23:40:10 +00:00
Johannes Oertel 6f7b5b1910 Add regression test for #22673. 2015-04-26 01:31:45 +02:00
Johannes Oertel d30a3aac04 Add regression test for #23253. 2015-04-26 00:52:19 +02:00
bors 00c48d3779 Auto merge of #24547 - bombless:comma, r=pnkfelix
Closes #20616 
It breaks code such as <https://github.com/rust-lang/rust/blob/c64feb63418fd05bd6e5adc6f9ad763aa6a594b1/src/librustc_typeck/check/method/suggest.rs#L367>, so this is a [breaking-change], you have to add missing comma after the last lifetime arguement now.
2015-04-25 21:44:50 +00:00
Tamir Duberstein beb373b317 qquote-2.rs -> run-fail/qquote.rs
Re-enables the test.
2015-04-25 14:40:52 -07:00
Tamir Duberstein 00cb5c40a2 qquote-1.rs -> compile-fail-fulldeps/qquote.rs
Re-enables the test.
2015-04-25 14:40:51 -07:00
Tamir Duberstein 597efd6cec Re-enable test 2015-04-25 14:14:31 -07:00
Tamir Duberstein 8ab8619d20 Unrot and re-enable run-pass-fulldeps/qquote.rs 2015-04-25 14:14:31 -07:00
Robin Kruppe 85ee89ae70 Redo PR #24811 properly
Transplant the grammar-related changes to grammar.md,
and remove all grammar talk from reference.md
2015-04-25 22:56:00 +02:00
Brad King e90408e915 std: Fix process spawn for arguments ending in backslashes on Windows
Fix `make_command_line` for the case of backslashes at the end of an
argument requiring quotes.  We must encode the command and arguments
such that `CommandLineToArgvW` recovers them in the spawned process.
Simplify the logic by using a running count of backslashes as they
are encountered instead of looking ahead for quotes following them.

Extend `test_make_command_line` to additionally cover:

* a leading quote in an argument that requires quotes,
* a backslash before a quote in an argument that requires quotes,
* a backslash at the end of an argument that requires quotes, and
* a backslash at the end of an argument that does not require quotes.
2015-04-25 15:35:22 -04:00
Heejong Ahn 9a2a06cf43 Added a link address to Vectors page of the book
At https://doc.rust-lang.org/book/vectors.html, there should be a link to
Generics page but the link address is ommitted and thus link is not functioning
well. So I added a link definition to the vectors.md.

r? @steveklabnik
2015-04-26 02:04:38 +09:00
Manish Goregaokar 3e67b6bb6c add import (fixup #24649) 2015-04-25 22:33:19 +05:30
Manish Goregaokar 9316b0382b Rollup merge of #24812 - jest:master, r=steveklabnik
Conflicts:
	src/doc/trpl/variable-bindings.md
2015-04-25 21:22:03 +05:30
Manish Goregaokar 007c81b83d Rollup merge of #24811 - rkruppe:reference-audit, r=steveklabnik
Mention `non_ascii_idents` feature gate and remove unused productions.

r? @steveklabnik
2015-04-25 21:18:47 +05:30
Manish Goregaokar 23782ad9a8 Rollup merge of #24809 - conradkleinespel:master, r=Manishearth
The reference has broken links. This should fix it.
2015-04-25 21:18:47 +05:30
Manish Goregaokar cfe08b74bf Rollup merge of #24806 - FuGangqiang:doc, r=Manishearth 2015-04-25 21:18:47 +05:30
Manish Goregaokar 4f1bbc209f Rollup merge of #24649 - nham:path_new_examples, r=steveklabnik 2015-04-25 21:18:47 +05:30
Przemysław Wesołek 2c2abe9a75 A number of spell-checking corrections. 2015-04-25 16:48:44 +02:00
bors 83263b48c3 Auto merge of #24803 - SkylerLipthay:patch-2, r=huonw
The description of the syntax for single byte literals is missing the preceding `b` distinction.
2015-04-25 13:10:33 +00:00
Robin Kruppe 702f17566c Audit reference manual: 3.2 Special unicode productions
Mention non_ascii_idents feature gate and remove unused productions
2015-04-25 14:38:23 +02:00
Luqman Aden 34601afd57 librustc_trans: Don't ICE on unsized type behind raw pointer in nullable pointer opt. 2015-04-25 07:47:45 -04:00
Conrad Kleinespel b66f858e8f fix compiler plugins path in doc/reference.md 2015-04-25 13:43:26 +02:00
bors e3d00a4980 Auto merge of #24783 - jooert:unittestguidelines, r=alexcrichton
Changes the style guidelines regarding unit tests to recommend using a sub-module named "tests" instead of "test" for unit tests as "test" might clash with imports of libtest (see #23870, #24030 and http://users.rust-lang.org/t/guidelines-naming-of-unit-test-module/1078 for previous discussions).

r? @alexcrichton
2015-04-25 09:55:06 +00:00
FuGangqiang 46462c7b5f fix doc 2015-04-25 16:30:25 +08:00