]> git.lizzy.rs Git - rust.git/log
rust.git
6 years agoRollup merge of #45097 - nivkner:fixme_fixup2, r=estebank
kennytm [Tue, 17 Oct 2017 14:20:55 +0000 (22:20 +0800)]
Rollup merge of #45097 - nivkner:fixme_fixup2, r=estebank

address more FIXME whose associated issues were marked as closed

part of #44366

6 years agoAuto merge of #45311 - goffrie:issue-40003, r=alexcrichton
bors [Tue, 17 Oct 2017 09:00:11 +0000 (09:00 +0000)]
Auto merge of #45311 - goffrie:issue-40003, r=alexcrichton

Add the test for #40003.

I checked that the test failed to compile on an older nightly (I tried 2017-09-29) and that it compiles against master.

Closes #40003.

6 years agoAuto merge of #45179 - cuviper:result-intoiter-clone, r=BurntSushi
bors [Tue, 17 Oct 2017 03:11:52 +0000 (03:11 +0000)]
Auto merge of #45179 - cuviper:result-intoiter-clone, r=BurntSushi

core: derive Clone for result::IntoIter

It appears to be a simple oversight that `result::IntoIter<T>` doesn't
implement `Clone` (where `T: Clone`).  We do already have `Clone` for
`result::Iter`, as well as the similar `option::IntoIter` and `Iter`.

6 years agoAuto merge of #45138 - johnthagen:future_imports, r=nikomatsakis
bors [Tue, 17 Oct 2017 00:34:32 +0000 (00:34 +0000)]
Auto merge of #45138 - johnthagen:future_imports, r=nikomatsakis

Add more __future__ imports to increase compatibility with Python 3 in bootstrap

The functionality of the  `__future__` imports are described [here](https://docs.python.org/3/library/__future__.html).

 These will help ensure the bootstrap code stays compatible with Python 3. If changes are made in the future that use absolute imports, division, or the `print` function, this will be ensure that running it under Python 2 will pass or fail the same way as Python 3.

`Option` is made a [new-style class](https://docs.python.org/2/reference/datamodel.html#new-style-and-classic-classes), so that it behaves the same way in Python 2 and 3.

The `__future__ unicode_literals` import is not used, because that can change the semantics of the code in Python 2 in unwanted ways. For more information see [this article](http://python-future.org/unicode_literals.html).

6 years agoMerge branch 'master' into future_imports
johnthagen [Mon, 16 Oct 2017 21:56:12 +0000 (17:56 -0400)]
Merge branch 'master' into future_imports

6 years agoAuto merge of #44857 - toidiu:ak-44493-empty-predicate, r=nikomatsakis
bors [Mon, 16 Oct 2017 21:29:54 +0000 (21:29 +0000)]
Auto merge of #44857 - toidiu:ak-44493-empty-predicate, r=nikomatsakis

#44493 add structure for inferred_outlives_of

#44493

- add placeholder for the final implementation of inferred_outlives_of
- add some placeholder tests

6 years agorevert change to function_sections for windows
Niv Kaminer [Mon, 16 Oct 2017 19:53:25 +0000 (22:53 +0300)]
revert change to function_sections for windows

6 years agoAuto merge of #45243 - alexcrichton:tool-rls-rustfmt, r=Mark-Simulacrum
bors [Mon, 16 Oct 2017 18:52:16 +0000 (18:52 +0000)]
Auto merge of #45243 - alexcrichton:tool-rls-rustfmt, r=Mark-Simulacrum

 rustbuild: Allow setting rls/rustfmt to "broken"

This commit enables configuring the RLS/rustfmt tools to the "broken" state and
actually get it past CI. The main changes here were to update all dist-related
code to handle the situation where the RLS isn't available. This in turn
involved a homegrown preprocessor-like-function to edit the configuration files
we pass to the various combined installer tools.

6 years agofix function name
toidiu [Wed, 11 Oct 2017 14:18:57 +0000 (10:18 -0400)]
fix function name

6 years agoadd a new dep node for outlives
toidiu [Wed, 11 Oct 2017 02:54:59 +0000 (22:54 -0400)]
add a new dep node for outlives

6 years agoadd error to the correct line in unit test
toidiu [Sun, 8 Oct 2017 18:45:19 +0000 (14:45 -0400)]
add error to the correct line in unit test

6 years agoadd a test case
toidiu [Thu, 28 Sep 2017 01:20:44 +0000 (21:20 -0400)]
add a test case

dont duplicate error codes

choose unlikely error code

specify error pattern in test

6 years agoadded components for testing. added outlives test to the check_crate function of...
toidiu [Thu, 28 Sep 2017 01:01:48 +0000 (21:01 -0400)]
added components for testing. added outlives test to the check_crate function of librustc_typeck

6 years agocreate a seperate module for outlives. added a query for inferred_outlives. setup...
toidiu [Thu, 28 Sep 2017 00:18:41 +0000 (20:18 -0400)]
create a seperate module for outlives. added a query for inferred_outlives. setup some files for upcoming tests

6 years agoadd inferred_outlives_of query
toidiu [Tue, 26 Sep 2017 04:48:32 +0000 (00:48 -0400)]
add inferred_outlives_of query

6 years agoreturn an empty inferred_outlives_of
toidiu [Tue, 26 Sep 2017 04:36:38 +0000 (00:36 -0400)]
return an empty inferred_outlives_of

6 years agorustbuild: Allow setting rls/rustfmt to "broken"
Alex Crichton [Tue, 19 Sep 2017 20:04:17 +0000 (13:04 -0700)]
rustbuild: Allow setting rls/rustfmt to "broken"

This commit enables configuring the RLS/rustfmt tools to the "broken" state and
actually get it past CI. The main changes here were to update all dist-related
code to handle the situation where the RLS isn't available. This in turn
involved a homegrown preprocessor-like-function to edit the configuration files
we pass to the various combined installer tools.

6 years agoAuto merge of #45202 - alexcrichton:fix-inline-always, r=michaelwoerister
bors [Mon, 16 Oct 2017 16:02:43 +0000 (16:02 +0000)]
Auto merge of #45202 - alexcrichton:fix-inline-always, r=michaelwoerister

rustc: Handle #[inline(always)] at -O0

This commit updates the handling of `#[inline(always)]` functions at -O0 to
ensure that it's always inlined regardless of the number of codegen units used.

Closes #45201

6 years agoturn link to RFC 1751 into a markdown link
Niv Kaminer [Mon, 16 Oct 2017 14:25:33 +0000 (14:25 +0000)]
turn link to RFC 1751 into a markdown link

6 years agoAuto merge of #45293 - joeratt:patch-1, r=kennytm
bors [Mon, 16 Oct 2017 11:54:31 +0000 (11:54 +0000)]
Auto merge of #45293 - joeratt:patch-1, r=kennytm

Add "Buidling on *nix" sub-header

Since there is a "Build on Windows" section, a simple sub-header here would help Windows users to know they need to keep reading.

6 years agoAuto merge of #45297 - matthewjasper:associated-item-namespaces, r=petrochenkov
bors [Mon, 16 Oct 2017 06:40:04 +0000 (06:40 +0000)]
Auto merge of #45297 - matthewjasper:associated-item-namespaces, r=petrochenkov

Check namespaces when resolving associated items in typeck

Closes #35600
Closes #44247
Fixes a "cannot move a value of type..." error in the same case as #44247 but with the associated items swapped.

6 years agoAuto merge of #45283 - alexcrichton:used-mut-nodes, r=arielb1
bors [Mon, 16 Oct 2017 03:02:05 +0000 (03:02 +0000)]
Auto merge of #45283 - alexcrichton:used-mut-nodes, r=arielb1

rustc: Remove `used_mut_nodes` from `TyCtxt`

This updates the borrowck query to return a result, and this result is then used
to incrementally check for unused mutable nodes given sets of all the used
mutable nodes.

Closes #42384

6 years agoAuto merge of #45191 - petrochenkov:yesar, r=Mark-Simulacrum
bors [Mon, 16 Oct 2017 00:32:21 +0000 (00:32 +0000)]
Auto merge of #45191 - petrochenkov:yesar, r=Mark-Simulacrum

rustbuild: Support specifying archiver and linker explicitly

With this patch `x.py test` passes without toolchain being in `PATH` if `cc`, `cxx`, `ar`, `linker` and `gdb` are specified in `config.toml` (except for a few `run-make` tests using `nm`).

Fixes https://github.com/rust-lang/rust/issues/41821
r? @Mark-Simulacrum

6 years agoRe-enable linker override for cross-compilation
Vadim Petrochenkov [Mon, 16 Oct 2017 00:20:01 +0000 (03:20 +0300)]
Re-enable linker override for cross-compilation

6 years agoDon't use target's linker when linking build scripts
Vadim Petrochenkov [Sun, 15 Oct 2017 18:39:16 +0000 (21:39 +0300)]
Don't use target's linker when linking build scripts

6 years agoAuto merge of #45215 - alexcrichton:thin-lto-reference-more, r=michaelwoerister
bors [Sun, 15 Oct 2017 20:07:35 +0000 (20:07 +0000)]
Auto merge of #45215 - alexcrichton:thin-lto-reference-more, r=michaelwoerister

rustc: Fix some ThinLTO internalization

First the `addPreservedGUID` function forgot to take care of "alias" summaries.
I'm not 100% sure what this is but the current code now matches upstream. Next
the `computeDeadSymbols` return value wasn't actually being used, but it needed
to be used! Together these should...

Closes #45195

6 years agoAdd test for #40003.
Geoffry Song [Sun, 15 Oct 2017 19:00:22 +0000 (12:00 -0700)]
Add test for #40003.

6 years agorustbuild: Support specifying archiver and linker explicitly
Vadim Petrochenkov [Tue, 10 Oct 2017 20:06:22 +0000 (23:06 +0300)]
rustbuild: Support specifying archiver and linker explicitly

6 years agoAuto merge of #44613 - QuietMisdreavus:rustdoc-perf, r=michaelwoerister
bors [Sun, 15 Oct 2017 17:48:12 +0000 (17:48 +0000)]
Auto merge of #44613 - QuietMisdreavus:rustdoc-perf, r=michaelwoerister

some low-hanging rustdoc optimizations

There were a few discussions earlier today in #rust-internals about the syscall usage and overall performance of rustdoc. This PR is intended to pick some low-hanging fruit and try to rein in some of the performance issues of rustdoc.

6 years agorustc: Fix some ThinLTO internalization
Alex Crichton [Wed, 11 Oct 2017 18:19:59 +0000 (11:19 -0700)]
rustc: Fix some ThinLTO internalization

First the `addPreservedGUID` function forgot to take care of "alias" summaries.
I'm not 100% sure what this is but the current code now matches upstream. Next
the `computeDeadSymbols` return value wasn't actually being used, but it needed
to be used! Together these should...

Closes #45195

6 years agoAuto merge of #45228 - theotherjimmy:ensure-query, r=michaelwoerister
bors [Sun, 15 Oct 2017 14:00:39 +0000 (14:00 +0000)]
Auto merge of #45228 - theotherjimmy:ensure-query, r=michaelwoerister

incr.comp.: Introduce `ensure` and `ensure` typeck_tables_of

Resolves #45210

In this Pull Request we introduce the `ensure` query/function. `ensure` has the
semantics and type of the function `Q1` below:
```rust
fn Q1::ensure(K){
    Q(K);
}
```
Further, `ensure` avoids the need to load the result from disk (or execute the
provider, if we are not storing the results of Q to disk).

@nikomatsakis

6 years agoAuto merge of #45123 - goffrie:fix-method-unit-call, r=oli-obk
bors [Sun, 15 Oct 2017 11:31:46 +0000 (11:31 +0000)]
Auto merge of #45123 - goffrie:fix-method-unit-call, r=oli-obk

Provide the full span of method calls to `check_argument_types`

... so that it includes the span of the passed arguments, not just the name of the called method.

Fixes #44760.

6 years agoCheck namespaces when resolving associated items in typeck
matthewjasper [Sun, 15 Oct 2017 10:58:32 +0000 (11:58 +0100)]
Check namespaces when resolving associated items in typeck

6 years agoAuto merge of #45299 - kennytm:rollup, r=kennytm
bors [Sun, 15 Oct 2017 08:39:58 +0000 (08:39 +0000)]
Auto merge of #45299 - kennytm:rollup, r=kennytm

Rollup of 9 pull requests

- Successful merges: #45113, #45250, #45255, #45258, #45263, #45264, #45269, #45280, #45289
- Failed merges:

6 years agoRollup merge of #45289 - GuillaumeGomez:fix-doc-help, r=kennytm
kennytm [Sun, 15 Oct 2017 06:21:59 +0000 (14:21 +0800)]
Rollup merge of #45289 - GuillaumeGomez:fix-doc-help, r=kennytm

Fix arrow display

Before:

<img width="1440" alt="screen shot 2017-10-14 at 18 36 18" src="https://user-images.githubusercontent.com/3050060/31577437-a81510e8-b10e-11e7-8249-cf074bb0f59a.png">

After:

<img width="1440" alt="screen shot 2017-10-14 at 18 36 12" src="https://user-images.githubusercontent.com/3050060/31577436-a7fc0eea-b10e-11e7-96d7-6dc2916ef72f.png">

r? @rust-lang/docs

6 years agoRollup merge of #45280 - GuillaumeGomez:fix-mobile-search, r=kennytm
kennytm [Sun, 15 Oct 2017 06:21:58 +0000 (14:21 +0800)]
Rollup merge of #45280 - GuillaumeGomez:fix-mobile-search, r=kennytm

Remove terribly useless and problematic margin when searching on mobile

Before:

<img width="1440" alt="screen shot 2017-10-14 at 15 56 09" src="https://user-images.githubusercontent.com/3050060/31576308-54af4e48-b0f8-11e7-9e2e-375febbb87b2.png">

After:

<img width="1440" alt="screen shot 2017-10-14 at 15 55 52" src="https://user-images.githubusercontent.com/3050060/31576304-5216ae74-b0f8-11e7-88a0-f53f293f5499.png">

r? @rust-lang/docs

6 years agoRollup merge of #45269 - sfackler:connect-timeout-fix, r=alexcrichton
kennytm [Sun, 15 Oct 2017 06:21:57 +0000 (14:21 +0800)]
Rollup merge of #45269 - sfackler:connect-timeout-fix, r=alexcrichton

Fix TcpStream::connect_timeout on linux

Linux appears to set POLLOUT when a conection's refused, which is pretty
weird. Invert the check to look for an error explicitly. Also add an
explict test for this case.

Closes #45265.

r? @alexcrichton

6 years agoRollup merge of #45264 - 0xAX:fix-typo-bootstrap-readm, r=kennytm
kennytm [Sun, 15 Oct 2017 06:21:56 +0000 (14:21 +0800)]
Rollup merge of #45264 - 0xAX:fix-typo-bootstrap-readm, r=kennytm

fix typo in src/bootstrap/README.md

6 years agoRollup merge of #45263 - Manishearth:hashmap-clean, r=bluss
kennytm [Sun, 15 Oct 2017 06:21:55 +0000 (14:21 +0800)]
Rollup merge of #45263 - Manishearth:hashmap-clean, r=bluss

Do some cleanups for hashmaps

@mystor noticed some things whilst reading through the hashmap RawTable code.

Firstly, in RawTable we deal with this hash_offset value that is the offset of the list of hashes from the buffer start. This is always zero, and this isn't consistently used (which means that we would have bugs if we set it to something else). We should just remove this since it doesn't help us at all.

Secondly, the probing length tag is not copied when cloning a raw table. This is minor and basically means we do a bit more work than we need on further inserts on a cloned hashmap.

r? @Gankro

6 years agoRollup merge of #45258 - hdhoang:master, r=alexcrichton
kennytm [Sun, 15 Oct 2017 06:21:54 +0000 (14:21 +0800)]
Rollup merge of #45258 - hdhoang:master, r=alexcrichton

compiletest/runtest: format ErrorKind with Display

The strings are nouns for the most part, so we give ErrorKind::Help a
more sensible string. This reduces quote hiccups in failure output.

unexpected "error": '...'

unexpected error: '...'

6 years agoRollup merge of #45255 - bgermann:master, r=alexcrichton
kennytm [Sun, 15 Oct 2017 06:21:53 +0000 (14:21 +0800)]
Rollup merge of #45255 - bgermann:master, r=alexcrichton

Make Solaris builder compatible with Solaris 10

Would it be possible to get this in the next 1.22.0 beta?

6 years agoRollup merge of #45250 - brauliobz:non-ascii-idents-details, r=steveklabnik
kennytm [Sun, 15 Oct 2017 06:21:52 +0000 (14:21 +0800)]
Rollup merge of #45250 - brauliobz:non-ascii-idents-details, r=steveklabnik

Moved details of unstable non-ascii identifiers from the Reference

Moved details of unstable non-ascii identifiers from the Reference to the Unstable book

r? @steveklabnik

6 years agoRollup merge of #45113 - Pirh:process_output_links, r=steveklabnik
kennytm [Sun, 15 Oct 2017 06:21:51 +0000 (14:21 +0800)]
Rollup merge of #45113 - Pirh:process_output_links, r=steveklabnik

Link std::process::Output to Command and Child

As per #29370

6 years agoAuto merge of #45224 - malbarbo:x32, r=alexcrichton
bors [Sun, 15 Oct 2017 06:12:13 +0000 (06:12 +0000)]
Auto merge of #45224 - malbarbo:x32, r=alexcrichton

Add x86_64-unknown-linux-gnux32 target

This adds X32 ABI support for Linux on X86_64. Let's package and dist it so we can star testing libc, libstd, etc.

Fixes https://github.com/rust-lang/rfcs/issues/1339

6 years agoAuto merge of #45200 - mikhail-m1:match-with-false-edges, r=nikomatsakis
bors [Sun, 15 Oct 2017 02:20:13 +0000 (02:20 +0000)]
Auto merge of #45200 - mikhail-m1:match-with-false-edges, r=nikomatsakis

MIR-borrowck: add false edges to match arms

basic fix for https://github.com/rust-lang/rust/issues/45043, should be modified with #45184

6 years agoAuto merge of #44867 - kennytm:rustdoc-md-test-title, r=alexcrichton
bors [Sat, 14 Oct 2017 23:07:35 +0000 (23:07 +0000)]
Auto merge of #44867 - kennytm:rustdoc-md-test-title, r=alexcrichton

doc-test: In Markdown tests, Use all of `<h1>` to `<h6>` as the test name

This mainly simplifies debugging error index tests, as the error codes are `<h2>`s in the huge document containing all codes.

6 years agoAdd "Buidling on *nix" sub-header
Joe Rattazzi [Sat, 14 Oct 2017 21:59:58 +0000 (16:59 -0500)]
Add "Buidling on *nix" sub-header

6 years agoFix TcpStream::connect_timeout on linux
Steven Fackler [Sat, 14 Oct 2017 02:22:33 +0000 (19:22 -0700)]
Fix TcpStream::connect_timeout on linux

Linux appears to set POLLOUT when a conection's refused, which is pretty
weird. Invert the check to look for an error explicitly. Also add an
explict test for this case.

Closes #45265.

6 years agoAuto merge of #45177 - oli-obk:clippy, r=alexcrichton
bors [Sat, 14 Oct 2017 18:48:08 +0000 (18:48 +0000)]
Auto merge of #45177 - oli-obk:clippy, r=alexcrichton

Enable building clippy in CI

r? @alexcrichton

As discussed at Rustfest. Measured additional time is 4 minutes on my machine if no dependencies are shared with other tools. In reality most dependencies are shared (especially the slow to compile ones like serde).

cc @Manishearth

Does not run clippy's test suite, since

a) it is nontrivial in the rustc build system
b) it breaks more frequently but the breakage is negligible

If clippy breaks, the procedure to follow is documented under https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#external-dependencies

6 years agoFix arrow display
Guillaume Gomez [Sat, 14 Oct 2017 16:35:54 +0000 (18:35 +0200)]
Fix arrow display

6 years agorustc: Remove `used_mut_nodes` from `TyCtxt`
Alex Crichton [Fri, 15 Sep 2017 19:49:10 +0000 (12:49 -0700)]
rustc: Remove `used_mut_nodes` from `TyCtxt`

This updates the borrowck query to return a result, and this result is then used
to incrementally check for unused mutable nodes given sets of all the used
mutable nodes.

Closes #42384

6 years agoAuto merge of #45175 - petrochenkov:dyn, r=nikomatsakis
bors [Sat, 14 Oct 2017 16:11:05 +0000 (16:11 +0000)]
Auto merge of #45175 - petrochenkov:dyn, r=nikomatsakis

Implement `dyn Trait` syntax (RFC 2113)

cc https://github.com/rust-lang/rust/issues/44662
r? @nikomatsakis

6 years agostd: Set probe length tag on cloned hashmaps
Manish Goregaokar [Fri, 13 Oct 2017 17:19:15 +0000 (13:19 -0400)]
std: Set probe length tag on cloned hashmaps

This isn't strictly necessary for hashmap cloning to work. The tag is
used to hint for an upcoming resize, so it's good to copy this
information over.

(We can do cleverer things like actually resizing the hashmap when we
see the tag, or even cleaning up the entry order, but this requires
more thought and might not be worth it)

6 years agostd: Get rid of hash_offet in RawTable
Manish Goregaokar [Fri, 13 Oct 2017 17:09:35 +0000 (13:09 -0400)]
std: Get rid of hash_offet in RawTable

This offset is always zero, and we don't consistently take it into
account. This is okay, because it's zero, but if it ever changes we're
going to have bugs (e.g. in the `dealloc` call, where we don't take it
into account).

It's better to remove this for now; if we ever have a need for a
nonzero offset we can add it back, and handle it properly when we do so.

6 years agoRemove terribly useless and problematic margin when searching on mobile
Guillaume Gomez [Sat, 14 Oct 2017 13:52:50 +0000 (15:52 +0200)]
Remove terribly useless and problematic margin when searching on mobile

6 years agoAuto merge of #45167 - pnkfelix:migrate-remaining-ast-diagnostics, r=arielb1
bors [Sat, 14 Oct 2017 13:47:44 +0000 (13:47 +0000)]
Auto merge of #45167 - pnkfelix:migrate-remaining-ast-diagnostics, r=arielb1

MIR-borrowck: Migrate remaining ast diagnostics

This PR migrates all of the remaining diagnostics in `rustc_borrowck` over to `rustc_mir`, exposing them for use by both AST-borrowck and MIR-borrowck.

This should hopefully resolve all remaining cases of diagnostic messages emitted from borrowck under `-Z borrowck-mir` without an origin annotation.

6 years agoAuto merge of #45162 - chrisvittal:mir-testing, r=nikomatsakis
bors [Sat, 14 Oct 2017 11:22:46 +0000 (11:22 +0000)]
Auto merge of #45162 - chrisvittal:mir-testing, r=nikomatsakis

 Modify MIR testing to require consecutive lines

MIR testing now requires that lines be consecutive. To achive this,
instead of collecting the expected mir as a string, it is now wrapped in
an `ExpectedLine` enum, that is either `Elision` or `Text(T)` where `T:
AsRef<str>`. `Text` lines must be matched in order, unless separated by
`Elision` lines. Elision occurs lazily, that is, an Elision will skip
as few lines as possible.

To add a new elision marker. Put a comment containing only "..." and
whitespace in any MIR testing block. Like so:

```
// fn write_42(_1: *mut i32) -> bool {
//     ...
//     bb0: {
//         Validate(Acquire, [_1: *mut i32]);
//         Validate(Release, [_1: *mut i32]);
//         ...
//         return;
//     }
// }
```

Right now, all input before the line right after `// START` is elided,
and all input after the line right before `// END` is also not tested.

Many tests need to be updated. That will follow in the next commit.

cc #45153
r? @nikomatsakis

6 years agoUpdate rustfmt submodule
Vadim Petrochenkov [Sat, 14 Oct 2017 09:53:44 +0000 (12:53 +0300)]
Update rustfmt submodule

6 years agoImplement `dyn Trait` syntax
Vadim Petrochenkov [Tue, 10 Oct 2017 14:33:19 +0000 (17:33 +0300)]
Implement `dyn Trait` syntax

6 years agoAuto merge of #45155 - Nashenas88:nll-infer, r=nikomatsakis
bors [Sat, 14 Oct 2017 08:53:07 +0000 (08:53 +0000)]
Auto merge of #45155 - Nashenas88:nll-infer, r=nikomatsakis

NLL infer

r? @nikomatsakis

6 years agoAuto merge of #45137 - theotherjimmy:vtable-methods-query, r=nikomatsakis
bors [Sat, 14 Oct 2017 06:34:20 +0000 (06:34 +0000)]
Auto merge of #45137 - theotherjimmy:vtable-methods-query, r=nikomatsakis

Queryify Vtable methods

This query might come with a downside: It converts an iterator to a Vec, which may increase the working set of rustc on programs that use many many traits (I think that's where this is used).

6 years agoAuto merge of #45104 - vitiral:incr_auto_assert2, r=michaelwoerister
bors [Sat, 14 Oct 2017 04:11:49 +0000 (04:11 +0000)]
Auto merge of #45104 - vitiral:incr_auto_assert2, r=michaelwoerister

Incremental compilation auto assert (with except)

cc @michaelwoerister

bors merged part 1, so this is a WIP of part 2 of #45009  -- auto asserting DepNodes depending on the type of node rustc_clean/dirty is attached to

Framework:
- [x] finish auto-detection for specified DepNodes
- [x] finish auto-detection for remaining DepNodes

Test Refactors:
- [x] consts.rs
- [x] enum_constructors.rs
- [x] extern_mods.rs
- [x] inherent_impls.rs
- [x] statics.rs
- [x] struct_constructors.rs
- ~~**BLOCKED** trait_defs.rs, see FIXME~~
- ~~**BLOCKED** trait_impls.rs~~
- [x] type_defs.rs
- [x] enum_defs.rs

6 years agoPass the full span for method calls
Geoffry Song [Mon, 9 Oct 2017 01:13:37 +0000 (18:13 -0700)]
Pass the full span for method calls

6 years agoAuto merge of #45102 - petrochenkov:noar, r=alexcrichton
bors [Sat, 14 Oct 2017 01:43:42 +0000 (01:43 +0000)]
Auto merge of #45102 - petrochenkov:noar, r=alexcrichton

cleanup: rustc doesn't use an external archiver

cc https://github.com/rust-lang/rust/pull/45090
r? @alexcrichton

6 years agorustdoc: wrap redirect page writers in a BufWriter
QuietMisdreavus [Fri, 13 Oct 2017 20:12:13 +0000 (15:12 -0500)]
rustdoc: wrap redirect page writers in a BufWriter

6 years agorustdoc: don't create directories more than once
QuietMisdreavus [Sat, 23 Sep 2017 19:40:18 +0000 (14:40 -0500)]
rustdoc: don't create directories more than once

6 years agoFixed link to keywords page in the reference
Bráulio Bezerra [Fri, 13 Oct 2017 20:15:28 +0000 (17:15 -0300)]
Fixed link to keywords page in the reference

6 years agoAuto merge of #45069 - sinkuu:tuple_arg, r=nikomatsakis
bors [Fri, 13 Oct 2017 20:14:38 +0000 (20:14 +0000)]
Auto merge of #45069 - sinkuu:tuple_arg, r=nikomatsakis

Better error for missing tuple pattern in args

#44150

Before:
```
error[E0593]: closure takes 2 arguments but 1 argument is required
 --> test.rs:5:40
  |
5 |     let it = v.into_iter().enumerate().map(|i, x| i);
  |                                        ^^^ -------- takes 2 arguments
  |                                        |
  |                                        expected closure that takes 1 argument
```

After:
```
error[E0593]: closure takes 2 arguments but a 2-tuple is required
 --> test.rs:5:40
  |
5 |     let it = v.into_iter().enumerate().map(|i, x| i);
  |                                        ^^^ ------ takes 2 arguments
  |                                        |
  |                                        expected closure that takes a 2-tuple
```

6 years agofix typo in src/bootstrap/README.md
Alexander Kuleshov [Fri, 13 Oct 2017 17:51:38 +0000 (23:51 +0600)]
fix typo in src/bootstrap/README.md

6 years agoAuto merge of #45261 - kennytm:rollup, r=kennytm
bors [Fri, 13 Oct 2017 17:42:25 +0000 (17:42 +0000)]
Auto merge of #45261 - kennytm:rollup, r=kennytm

Rollup of 14 pull requests

- Successful merges: #44855, #45110, #45122, #45133, #45173, #45178, #45189, #45203, #45209, #45221, #45236, #45240, #45245, #45253
- Failed merges:

6 years agoAdd line break after summary of process::Output
Pirh [Fri, 13 Oct 2017 17:18:09 +0000 (18:18 +0100)]
Add line break after summary of process::Output

6 years agofix review comments
Garrett Berg [Fri, 13 Oct 2017 16:04:59 +0000 (10:04 -0600)]
fix review comments

6 years agoRollup merge of #45253 - Gankro:drop_docs, r=kennytm
kennytm [Fri, 13 Oct 2017 15:38:05 +0000 (23:38 +0800)]
Rollup merge of #45253 - Gankro:drop_docs, r=kennytm

Clarify how needs_drop is conservative

6 years agoRollup merge of #45245 - stjepang:more-padding-between-impls, r=QuietMisdreavus
kennytm [Fri, 13 Oct 2017 15:38:04 +0000 (23:38 +0800)]
Rollup merge of #45245 - stjepang:more-padding-between-impls, r=QuietMisdreavus

Rustdoc: Increase padding between consecutive impls

Currently, [implementors](https://doc.rust-lang.org/nightly/std/iter/trait.IntoIterator.html#implementors) list is a bit too condensed. More spacing makes the list easier to read.
Check out [this comment](https://github.com/rust-lang/rust/issues/41879#issuecomment-333121118) to see what's the effect of this change.

Closes #41879.

cc @QuietMisdreavus

6 years agoRollup merge of #45240 - GuillaumeGomez:mobile-sidebar-improvements, r=QuietMisdreavus
kennytm [Fri, 13 Oct 2017 15:38:03 +0000 (23:38 +0800)]
Rollup merge of #45240 - GuillaumeGomez:mobile-sidebar-improvements, r=QuietMisdreavus

Mobile sidebar improvements

Very small changes, I just made the width of the sidebar of 100% and centered vertically both items a bit more:

<img width="1440" alt="screen shot 2017-10-12 at 20 00 47" src="https://user-images.githubusercontent.com/3050060/31511496-302bb474-af88-11e7-8dab-2c88799eafcc.png">

r? @rust-lang/docs

6 years agoRollup merge of #45236 - alexcrichton:build-less, r=Mark-Simulacrum
kennytm [Fri, 13 Oct 2017 15:38:02 +0000 (23:38 +0800)]
Rollup merge of #45236 - alexcrichton:build-less, r=Mark-Simulacrum

rustbuild: Prevent spurious rebuilds of the RLS

The RLS currently is rebuilt every time you test it because the `OPENSSL_DIR`
env var is changing, which is in turn caused by an accidental omission of
`prepare_tool_cargo` when testing the RLS.

6 years agoRollup merge of #45221 - estebank:issue-41790, r=nikomatsakis
kennytm [Fri, 13 Oct 2017 15:38:01 +0000 (23:38 +0800)]
Rollup merge of #45221 - estebank:issue-41790, r=nikomatsakis

Point at immutable outer variable

When attempting to mutate an immutable outer variable from a closure,
point at the outer variable and suggest making it mutable.

Fix #41790.

6 years agoRollup merge of #45209 - kennytm:treat-checksum-error-as-download-error, r=Mark-Simul...
kennytm [Fri, 13 Oct 2017 15:38:00 +0000 (23:38 +0800)]
Rollup merge of #45209 - kennytm:treat-checksum-error-as-download-error, r=Mark-Simulacrum

rustbuild: Make openssl download more reliable.

1. Add `-f` flag to curl, so when the server returns 403 or 500 it will fail immediately.
2. Moved the checksum part into the retry loop, assuming checksum failure is due to broken download that can be fixed by downloading again.

This PR is created responding to two recent spurious failures in https://github.com/rust-lang/rust/pull/45075#issuecomment-335202319 and https://github.com/rust-lang/rust/pull/45030#issuecomment-335029356.

r? @Mark-Simulacrum , cc @aidanhs

6 years agoRollup merge of #45203 - alexcrichton:update-llvm, r=michaelwoerister
kennytm [Fri, 13 Oct 2017 15:37:59 +0000 (23:37 +0800)]
Rollup merge of #45203 - alexcrichton:update-llvm, r=michaelwoerister

rustc: Update LLVM with a ThinLTO fix

This commit updates LLVM with a patch that's landed upstream to fix an assertion
that was tripping when ThinLTO was activated. Unfortunately I wasn't able to get
a reduced test case, but I've tested manually on the affected crates and the
assertion is indeed fixed.

Closes #45131

6 years agoRollup merge of #45189 - alexcrichton:thinlto-allocators, r=michaelwoerister
kennytm [Fri, 13 Oct 2017 15:37:58 +0000 (23:37 +0800)]
Rollup merge of #45189 - alexcrichton:thinlto-allocators, r=michaelwoerister

rustc: Handle `#[no_mangle]` anywhere in a crate

This commit updates the reachability pass of the compiler to seed the local
worklist with `#[no_mangle]`-like items anywhere in a crate, not just those
reachable from public items.

Closes #45165

6 years agoRollup merge of #45178 - Badel2:comma-after-struct, r=petrochenkov
kennytm [Fri, 13 Oct 2017 15:37:57 +0000 (23:37 +0800)]
Rollup merge of #45178 - Badel2:comma-after-struct, r=petrochenkov

Better error message for comma after base struct

#41834

This adds a better error for commas after the base struct:
```
let foo = Foo {
    one: 111,
    ..Foo::default(), // This comma is a syntax error
};
```

The current error is a generic `expected one of ...` which isn't beginner-friendly. My error looks like this:

```
error: cannot use a comma after the base struct
  --> tmp/example.rs:26:9
   |
26 |         ..Foo::default(),
   |         ^^^^^^^^^^^^^^^^- help: remove this comma
   |
   = note: the base struct expansion must always be the last field
```

I even added a note for people who don't know why this isn't allowed.

6 years agoRollup merge of #45173 - laumann:suggest-misspelled-labels, r=petrochenkov
kennytm [Fri, 13 Oct 2017 15:37:56 +0000 (23:37 +0800)]
Rollup merge of #45173 - laumann:suggest-misspelled-labels, r=petrochenkov

Add suggestions for misspelled labels

Another part of #30197

6 years agoRollup merge of #45133 - GuillaumeGomez:usize-index-msg, r=dtolnay
kennytm [Fri, 13 Oct 2017 15:37:55 +0000 (23:37 +0800)]
Rollup merge of #45133 - GuillaumeGomez:usize-index-msg, r=dtolnay

usize index message for vec

6 years agoRollup merge of #45122 - jean-lourenco:master, r=nikomatsakis
kennytm [Fri, 13 Oct 2017 15:37:54 +0000 (23:37 +0800)]
Rollup merge of #45122 - jean-lourenco:master, r=nikomatsakis

Better compile error output when using arguments instead of types

Following @estebank sugestion on issue https://github.com/rust-lang/rust/issues/18945#issuecomment-331251436

6 years agoRollup merge of #45110 - Nashenas88:master, r=arielb1
kennytm [Fri, 13 Oct 2017 15:37:53 +0000 (23:37 +0800)]
Rollup merge of #45110 - Nashenas88:master, r=arielb1

Improve newtype_index macro to handle description and constants consistently

6 years agoRollup merge of #44855 - federicomenaquintero:master, r=steveklabnik
kennytm [Fri, 13 Oct 2017 15:37:51 +0000 (23:37 +0800)]
Rollup merge of #44855 - federicomenaquintero:master, r=steveklabnik

Improved docs for CStr, CString, OsStr, OsString

This expands the documentation for those structs and their corresponding traits, per https://github.com/rust-lang/rust/issues/29354

6 years agoAuto merge of #45063 - michaelwoerister:bring-back-incremental-info, r=nikomatsakis
bors [Fri, 13 Oct 2017 15:04:12 +0000 (15:04 +0000)]
Auto merge of #45063 - michaelwoerister:bring-back-incremental-info, r=nikomatsakis

incr.comp.: Bring back output of -Zincremental-info.

This got kind lost during the transition to red/green.

I also switched back from `eprintln!()` to `println!()` since the former never actually produced any output. I suspect this has to do with `libterm` somehow monopolizing `stderr`.

r? @nikomatsakis

6 years agoRemove recursion from `define_{provider|map}_struct`
Jimmy Brisson [Thu, 12 Oct 2017 21:45:07 +0000 (16:45 -0500)]
Remove recursion from `define_{provider|map}_struct`

6 years agoRemove export of vtable_methods
Jimmy Brisson [Mon, 9 Oct 2017 15:41:19 +0000 (10:41 -0500)]
Remove export of vtable_methods

6 years agoWrap vtable_methods return type in RC
Jimmy Brisson [Mon, 9 Oct 2017 15:39:53 +0000 (10:39 -0500)]
Wrap vtable_methods return type in RC

6 years agoget_vtable_methods => vtable_methods query
Jimmy Brisson [Sat, 7 Oct 2017 21:55:09 +0000 (16:55 -0500)]
get_vtable_methods => vtable_methods query

6 years agoConvert return type of get_vtable_methods to Vec
Jimmy Brisson [Sat, 7 Oct 2017 14:20:13 +0000 (09:20 -0500)]
Convert return type of get_vtable_methods to Vec

6 years agoAdd License to infer.rs
Santiago Pastorino [Wed, 11 Oct 2017 21:41:20 +0000 (18:41 -0300)]
Add License to infer.rs

6 years agoTODO -> FIXME
Santiago Pastorino [Wed, 11 Oct 2017 21:40:35 +0000 (18:40 -0300)]
TODO -> FIXME

6 years agoAdd allow_dead code directive to unused methods
Santiago Pastorino [Tue, 10 Oct 2017 22:41:29 +0000 (19:41 -0300)]
Add allow_dead code directive to unused methods

6 years agoDo not move infcx, just borrow it
Santiago Pastorino [Tue, 10 Oct 2017 22:37:34 +0000 (19:37 -0300)]
Do not move infcx, just borrow it

6 years agoborrow block_data instead of moving it
Santiago Pastorino [Tue, 10 Oct 2017 22:23:30 +0000 (19:23 -0300)]
borrow block_data instead of moving it

6 years agosup_def is a mutable reference
Santiago Pastorino [Tue, 10 Oct 2017 22:23:16 +0000 (19:23 -0300)]
sup_def is a mutable reference

6 years agointeference_context should be mut
Santiago Pastorino [Tue, 10 Oct 2017 22:18:19 +0000 (19:18 -0300)]
inteference_context should be mut

6 years agoMark Region as public
Santiago Pastorino [Tue, 10 Oct 2017 17:25:39 +0000 (14:25 -0300)]
Mark Region as public