64729 Commits

Author SHA1 Message Date
Corey Farwell
0362891073 Rollup merge of #42470 - frewsxcv:frewsxcv/ffi-cstr-doc-examples, r=QuietMisdreavus
Add doc examples for `CString` methods.

None
2017-06-07 21:58:43 -04:00
bors
03eb7109c7 Auto merge of #42447 - alexcrichton:update-cargo, r=petrochenkov
Update Cargo

Brings in some perf improvements!
2017-06-07 22:48:15 +00:00
bors
f062832b20 Auto merge of #42378 - steveklabnik:rustdoc-docs, r=frewsxcv
The Rustdoc book

A work-in-progress start for docs for rustdoc.

This doesn't actually generate the docs yet; I wanted to open this PR to get feedback on this approach, the chapters headings themselves, and to see if anyone wanted to help fill in the ones that aren't done yet.

Start of #42322.

/cc @rust-lang/dev-tools @rust-lang/docs
2017-06-07 15:16:46 +00:00
Alex Crichton
453080f13e Update Cargo
Brings in some perf improvements!
2017-06-07 07:57:59 -07:00
bors
a69cc85909 Auto merge of #42486 - eddyb:issue-39882, r=nikomatsakis
rustc_trans: do not store pair fields if they are ZSTs.

Should help with #39882 even if it's not a complete fix AFAICT.
2017-06-07 12:34:13 +00:00
bors
37b1f6c4f1 Auto merge of #42482 - eddyb:issue-42467, r=nikomatsakis
rustc: T: 'empty always holds for all types.

Fixes #42467 by special-casing `ReEmpty` to always hold, even for parameters.
The reason this is the case is that `ReEmpty` is the result of inferring a region variable with no constraints attached to it, so there is no lifetime a type would contain which would be strictly shorter.

r? @nikomatsakis
2017-06-07 10:09:11 +00:00
bors
89fceaa5b0 Auto merge of #42480 - eddyb:issue-42463, r=nikomatsakis
rustc_typeck: do not overlap a borrow of TypeckTables with method lookup.

If trait selection is reached, it could potentially request a closure signature, which will have to borrow the `TypeckTables` of the current function, and so those tables *should not* be mutably borrowed.

Fixes #42463.
r? @nikomatsakis
2017-06-07 07:52:12 +00:00
bors
f73f675a86 Auto merge of #42494 - frewsxcv:rollup, r=frewsxcv
Rollup of 7 pull requests

- Successful merges: #42409, #42415, #42429, #42438, #42466, #42469, #42485
- Failed merges:
2017-06-07 04:24:15 +00:00
Corey Farwell
24f48d030e Rollup merge of #42485 - Mark-Simulacrum:skip-no-doc, r=alexcrichton
Skip printing for skipped doc tests.

Followup to https://github.com/rust-lang/rust/pull/42437 to further reduce noise.

r? @alexcrichton
2017-06-06 22:36:37 -04:00
Corey Farwell
7f8467eaaf Rollup merge of #42469 - citizen428:document-assert-macros, r=steveklabnik
Doc changes for assert macros

See #29381
2017-06-06 22:36:36 -04:00
Corey Farwell
bedead25fe Rollup merge of #42466 - wesleywiser:fix_42407, r=arielb1
syntax_pos::Symbol should not implement Sync

Fixes #42407
2017-06-06 22:36:35 -04:00
Corey Farwell
9e8c94c5d7 Rollup merge of #42438 - king6cong:master, r=alexcrichton
doc rewording
2017-06-06 22:36:34 -04:00
Corey Farwell
b472b66454 Rollup merge of #42429 - venkatagiri:llvm_config, r=alexcrichton
rustc_llvm: re-run build script if config.toml changes

closes #35199
2017-06-06 22:36:34 -04:00
Corey Farwell
915b19d7c3 Rollup merge of #42415 - stephen-lazaro:Issue29094, r=arielb1
Remove 'elided' from lifetime resolution error

Removes 'elided' from lifetime resolution errors
Removes 'elided' from relevant error messaging tests

This PR resolves https://github.com/rust-lang/rust/issues/29094

r? @Mark-Simulacrum
2017-06-06 22:36:33 -04:00
Corey Farwell
e702b75b00 Rollup merge of #42409 - bjorn3:patch-3, r=frewsxcv
Better docs

Working on more doc improvements

Edit: done for today
2017-06-06 22:36:32 -04:00
bors
21d0f91444 Auto merge of #42133 - cuviper:stdio-from, r=alexcrichton
Add conversions from File and Child* handles to Stdio

`Stdio` now implements `From<ChildStdin>`, `From<ChildStdout>`,
`From<ChildStderr>`, and `From<File>`.

The `Command::stdin`/`stdout`/`stderr` methods now take any type that
implements `Into<Stdio>`.

This makes it much easier to write shell-like command chains, piping to
one another and redirecting to and from files.  Otherwise one would need
to use the unsafe and OS-specific `from_raw_fd` or `from_raw_handle`.
2017-06-07 02:11:20 +00:00
Josh Stone
9debe91675 Add conversions from File and Child* handles to Stdio
`Stdio` now implements `From<ChildStdin>`, `From<ChildStdout>`,
`From<ChildStderr>`, and `From<File>`.

The `Command::stdin`/`stdout`/`stderr` methods now take any type that
implements `Into<Stdio>`.

This makes it much easier to write shell-like command chains, piping to
one another and redirecting to and from files.  Otherwise one would need
to use the unsafe and OS-specific `from_raw_fd` or `from_raw_handle`.
2017-06-06 15:42:55 -07:00
bors
76242aebb9 Auto merge of #42361 - GuillaumeGomez:error-codes, r=arielb1
Add E0602

Part of #42229.

cc @Susurrus
2017-06-06 20:46:10 +00:00
Eduard-Mihai Burtescu
b02e3a165c rustc_typeck: do not overlap a borrow of TypeckTables with method lookup. 2017-06-06 21:48:16 +03:00
Eduard-Mihai Burtescu
1a2eb4953e rustc_trans: do not store pair fields if they are ZSTs. 2017-06-06 21:13:13 +03:00
Mark Simulacrum
bc8fabbabc Skip printing for skipped doc tests. 2017-06-06 12:00:22 -06:00
Eduard-Mihai Burtescu
ec7195f31f rustc: T: 'empty always holds forall T. 2017-06-06 19:50:01 +03:00
bors
a032cb89c5 Auto merge of #42247 - durka:patch-41, r=arielb1
add playbot jokes to run-pass test

Some funny expressions that people pull out on IRC, that might actually be useful to test pathological parser behavior.
2017-06-06 14:46:26 +00:00
bors
e1293ecbea Auto merge of #42437 - Mark-Simulacrum:skip-no-doc, r=alexcrichton
Skip documentation files without ``` when running markdown tests.

This should reduce the 'running 0 tests' noise in builds, and I believe this is a good heuristic for us to use.

cc @rust-lang/docs -- do we use the indented format for code blocks anywhere? Will we? If so, we shouldn't do this.

r? @alexcrichton
2017-06-06 11:10:37 +00:00
bors
9006db1fb0 Auto merge of #42436 - ollie27:win_spawn_name, r=alexcrichton
Always quote program name in Command::spawn on Windows

[`CreateProcess`](https://msdn.microsoft.com/en-us/library/windows/desktop/ms682425.aspx) will interpret args as part of the binary name if it
doesn't find the binary using just the unquoted name. For example if
`foo.exe` doesn't exist, `Command::new("foo").arg("bar").spawn()` will
try to launch `foo bar.exe` which is clearly not desired.
2017-06-06 08:38:50 +00:00
bors
17f493fffc Auto merge of #42394 - ollie27:rustdoc_deref_box, r=QuietMisdreavus
rustdoc: Hide `self: Box<Self>` in list of deref methods

These methods can never be called through deref so there is no point including them. For example you can't call [`into_boxed_bytes`](https://doc.rust-lang.org/nightly/std/string/struct.String.html#method.into_boxed_bytes) or [`into_string`](https://doc.rust-lang.org/nightly/std/string/struct.String.html#method.into_string) on `String`.
2017-06-06 06:18:17 +00:00
Corey Farwell
06f63f5edb Add doc example for CString::as_bytes. 2017-06-05 23:50:49 -04:00
Corey Farwell
ae4832d48a Add doc example for CString::as_bytes_with_nul. 2017-06-05 23:49:52 -04:00
Corey Farwell
815c12a765 Add doc example for CString::into_bytes_with_nul. 2017-06-05 23:48:13 -04:00
Corey Farwell
3ec1f61acc Add doc example for CString::into_bytes. 2017-06-05 23:46:44 -04:00
Corey Farwell
4db8c9f0ba Add doc example for CString::into_raw. 2017-06-05 23:43:25 -04:00
bors
e862695158 Auto merge of #41990 - qnighy:disallow-underscore-suffix-for-string-like-literals, r=nikomatsakis
Disallow underscore suffix for string-like literals.

This patch turns string/bytestring/char/byte literals followed by an underscore, like `"Foo"_`, to an error.

`scan_optional_raw_name` will parse `_` as a valid raw name, but it will be rejected by the parser. I also considered just stopping parsing when the suffix is `_`, but in that case `"Foo"_` will be lexed as two valid tokens.

Fixes the latter half of #41723.
2017-06-06 02:56:17 +00:00
Wesley Wiser
c47df30a0b syntax_pos::Symbol should not implement Sync
Fixes #42407
2017-06-05 21:52:34 -04:00
bors
ae79201533 Auto merge of #42452 - raphlinus:mx_job_default, r=alexcrichton
[fuchsia] Track change of mx_job_default

The implementation of mx_job_default changed from a macro which
accessed the __magenta_job_default global variable to a proper
function call. This patch tracks that change.
2017-06-05 21:42:19 +00:00
Alex Burka
9d67dfec12 tidy is an unnecessary roadblock to contributions 2017-06-05 21:02:55 +00:00
Raph Levien
4e2a43f323 [fuchsia] Track change of mx_job_default
The implementation of mx_job_default changed from a macro which
accessed the __magenta_job_default global variable to a proper
function call. This patch tracks that change.
2017-06-05 11:27:31 -07:00
steveklabnik
9331f046f4 fix tests 2017-06-05 13:14:31 -04:00
steveklabnik
2f0dc04bb5 address review feedback 2017-06-05 13:09:19 -04:00
Oliver Middleton
02955f508e Add run-make test for Command::spawn on Windows
Make sure args aren't interpreted as part of the program name.
2017-06-05 17:57:32 +01:00
bors
d015610db7 Auto merge of #42414 - frewsxcv:frewsxcv/improve-cow-docs, r=QuietMisdreavus
Improve `Cow` method doc examples.

None
2017-06-05 15:38:24 +00:00
bors
13eb0ec9f1 Auto merge of #42383 - estebank:candidate-newline, r=arielb1
Use multiline note for trait suggestion
2017-06-05 13:07:38 +00:00
Michael Kohl
867ed2e17d Doc changes for assert macros
See #29381
2017-06-05 16:46:12 +07:00
king6cong
018722e485 doc rewording 2017-06-05 11:02:38 +08:00
Mark Simulacrum
dd1d75e9ec Skip documentation files without ``` when running markdown tests.
This should reduce the 'running 0 tests' noise in builds, and is a good
heuristic for us to use.
2017-06-04 17:55:50 -06:00
bors
c94a9ac8ae Auto merge of #42426 - arthurprs:io_error, r=sfackler
Inline io::Error creation from ErrorKind

Faster and smaller code for mio and tokio (PRs on those to follow)
2017-06-04 23:35:21 +00:00
Oliver Middleton
7afcf51fe4 Always quote program name in Command::spawn on Windows
`CreateProcess` will interpret args as part of the binary name if it
doesn't find the binary using just the unquoted name. For example if
`foo.exe` doesn't exist, `Command::new("foo").arg("bar").spawn()` will
try to launch `foo bar.exe` which is clearly not desired.
2017-06-04 21:47:24 +01:00
bors
0418fa9d38 Auto merge of #42362 - estebank:type, r=arielb1
Show trait method signature when impl differs

When the trait's span is available, it is already being used, add a
`note` for the cases where the span isn't available:

<pre>
error[E0053]: <b>method `fmt` has an incompatible type for trait</b>
  --> $DIR/trait_type.rs:17:4
   |
17 |    fn fmt(&self, x: &str) -> () { }
   |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ types differ in mutability
   |
   = note: expected type `<b>fn(&MyType, &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error></b>`
              found type `<b>fn(&MyType, &str)</b>`

error[E0050]: <b>method `fmt` has 1 parameter but the declaration in trait `std::fmt::Display::fmt` has 2</b>
  --> $DIR/trait_type.rs:21:11
   |
21 |    fn fmt(&self) -> () { }
   |           ^^^^^ expected 2 parameters, found 1
   |
   = note: `fmt` from trait: `<b>fn(&Self, &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error></b>`

error[E0186]: <b>method `fmt` has a `&self` declaration in the trait, but not in the impl</b>
  --> $DIR/trait_type.rs:25:4
   |
25 |    fn fmt() -> () { }
   |    ^^^^^^^^^^^^^^^^^^ expected `&self` in impl
   |
   = note: `fmt` from trait: `<b>fn(&Self, &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error></b>`

error[E0046]: <b>not all trait items implemented, missing: `fmt`</b>
  --> $DIR/trait_type.rs:28:1
   |
28 | impl std::fmt::Display for MyType4 {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `fmt` in implementation
   |
   = note: `fmt` from trait: `<b>fn(&Self, &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error></b>`
</code></pre>

Fix #28011.
2017-06-04 20:16:09 +00:00
Esteban Küber
397972f5b0 Separate suggestion in a help and a note 2017-06-04 12:56:57 -07:00
Esteban Küber
e324919ec5 Show trait method signature when impl differs
When the trait's span is available, it is already being used, add a
`note` for the cases where the span isn't available:

```
error[E0053]: method `fmt` has an incompatible type for trait
  --> $DIR/trait_type.rs:17:4
   |
17 |    fn fmt(&self, x: &str) -> () { }
   |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ types differ in mutability
   |
   = note: expected type `fn(&MyType, &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error>`
              found type `fn(&MyType, &str)`

error[E0050]: method `fmt` has 1 parameter but the declaration in trait `std::fmt::Display::fmt` has 2
  --> $DIR/trait_type.rs:21:11
   |
21 |    fn fmt(&self) -> () { }
   |           ^^^^^ expected 2 parameters, found 1
   |
   = note: `fmt` from trait: `fn(&Self, &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error>`

error[E0186]: method `fmt` has a `&self` declaration in the trait, but not in the impl
  --> $DIR/trait_type.rs:25:4
   |
25 |    fn fmt() -> () { }
   |    ^^^^^^^^^^^^^^^^^^ expected `&self` in impl
   |
   = note: `fmt` from trait: `fn(&Self, &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error>`

error[E0046]: not all trait items implemented, missing: `fmt`
  --> $DIR/trait_type.rs:28:1
   |
28 | impl std::fmt::Display for MyType4 {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `fmt` in implementation
   |
   = note: `fmt` from trait: `fn(&Self, &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error>`
```
2017-06-04 12:52:55 -07:00
Venkata Giri Reddy
40f8536449 rustc_llvm: re-run build script if config.toml changes 2017-06-04 18:35:57 +00:00