Commit Graph

64650 Commits

Author SHA1 Message Date
Marco Castelluccio ecba8d6a23 Merge branch 'profiling' of github.com:whitequark/rust into profiling 2017-06-04 15:54:39 +01:00
bors 1b5a923001 Auto merge of #41968 - kennytm:fix-unreadable-json-test-output-36516, r=nikomatsakis
Introduce 'run-pass' header to 'ui' tests in compiletest. Fix issue #36516.

<del>`ui-run` test is a combination of `ui` test and `run-pass` test. It is used to test lint output.</del>

Added support of `// run-pass` header to `ui` tests.

The compiler message of each test must match the corresponding `*.stderr` file like the traditional `ui` tests. Additionally, the compiled output must be executed successfully like the `run-pass` test.

12 `run-pass`/`run-pass-fulldeps` tests are moved to `ui`/`ui-fulldeps` plus the headers. After this move, no `run-pass`/`run-pass-fulldeps` tests should rely on the compiler's JSON message. This allows us to stop passing `--error-format json` in run-pass tests, thus fixing #36516.
2017-06-04 03:23:39 +00:00
bors efee86d1a1 Auto merge of #42398 - redox-os:master, r=sfackler
Redox: Switch to repr(C) for syscall structs
2017-06-04 01:06:23 +00:00
bors 8f66fafebd Auto merge of #42391 - photoszzt:master, r=Manishearth
Better suggestion for unknown method

r? @Manishearth

fixes #42386
2017-06-03 22:49:11 +00:00
bors 6684d176c7 Auto merge of #42387 - GuillaumeGomez:error-codes-next, r=Susurrus
Add E0603 error code

Part of #42229.

cc @Susurrus
2017-06-03 20:31:11 +00:00
bors 0453cf520d Auto merge of #42369 - RalfJung:drop-glue, r=eddyb
array drop glue: avoid using out-of-bounds index lvalues

Avoid using out-of-bounds index lvalues. Miri doesn't like them, and they seem fishy in general.
Instead, use a pointer cast to compute the address of the beginning, and Offset to compute the end.

Cc @arielb1 @nagisa
2017-06-03 18:02:57 +00:00
bors a8dc246dc7 Auto merge of #42334 - est31:master, r=jseyfried
Extend the unused macro lint to macros 2.0

Extends the unused macro lint (added in PR #41907) to macros 2.0 (added in PR #40847).

r? @jseyfried
2017-06-03 15:40:34 +00:00
bors 4225019750 Auto merge of #42396 - venkatagiri:remove_lifetime_extn, r=arielb1
rustc: remove temporary lifetime extension by borrow hint

closes #39283.

Thanks to @nikomatsakis for mentoring on this one.

r? @arielb1
2017-06-03 13:17:20 +00:00
bors 2f2d7413ff Auto merge of #42332 - michaelwoerister:no-more-retracing, r=nikomatsakis
incr.comp.: Use DefPathHash-based DepNodes in the serialized DepGraph and remove obsolete DefIdDirectory

With this PR we don't store the dep-graph as a set of `DepNode<IndexIntoDefIdDirectory>` anymore but instead as a set of `DepNode<DefPathHash>`. Since a `DefPathHash` is a global identifier that is valid across compilation sessions, we don't need the `DefIdDirectory` anymore.

Since a `DepNode<DefPathHash>` is bigger than a `DepNode<IndexIntoDefIdDirectory>` and our on-disk encoding of the dep-graph is inefficient, this PR will probably increase the amount of space the dep-graph takes up on disk. I'm in the process of gathering some performance data.

The changes in here are a step towards implementing ICH-based `DepNodes` (#42294).

r? @nikomatsakis
2017-06-03 10:56:42 +00:00
bors fbb9276780 Auto merge of #42331 - retep998:standard-relocation-coupon, r=alexcrichton
Improve reallocation in alloc_system on Windows

Fixes https://github.com/rust-lang/rust/issues/42025
2017-06-03 08:32:58 +00:00
bors 6165203c48 Auto merge of #42400 - frewsxcv:rollup, r=frewsxcv
Rollup of 5 pull requests

- Successful merges: #42353, #42354, #42363, #42368, #42382
- Failed merges:
2017-06-03 06:13:05 +00:00
Corey Farwell 4683500036 Rollup merge of #42382 - alexcrichton:remove-rustflags, r=Mark-Simulacrum
rustbuild: Remove RUSTFLAGS logic in rustc shim

This was added in #38072 but I can't recall why and AFAIK Cargo already handles
this. This was discovered through #42146 where passing duplicate flags was
causing problems.
2017-06-03 01:00:55 -04:00
Corey Farwell bef8fbd6db Rollup merge of #42368 - estebank:call-site, r=nikomatsakis
Use callsite's span for macro calls on suggestion

When suggesting an appropriate mutability for a macro call, use the call
span instead of the expanded macro's span.

```
error[E0308]: mismatched types
  --> $DIR/coerce-suggestions.rs:48:9
   |
48 |     s = format!("foo");
   |         ^^^^^^^^^^^^^^ expected mutable reference, found struct `std::string::String`
   |
   = note: expected type `&mut std::string::String`
              found type `std::string::String`
   = help: try with `&mut format!("foo")`
   = note: this error originates in a macro outside of the current crate
```
Fix #41858.
2017-06-03 01:00:54 -04:00
Corey Farwell 25bbbb3119 Rollup merge of #42363 - cuviper:no-fail-fast, r=alexcrichton
rustbuild: Add `./x.py test --no-fail-fast`

This option forwards to each `cargo test` invocation, and applies the
same logic across all test steps to keep going after failures.  At the
end, a brief summary line reports how many commands failed, if any.

Note that if a test program fails to even start at all, or if an
auxiliary build command related to testing fails, these are still left
to stop everything right away.

Fixes #40219.
2017-06-03 01:00:53 -04:00
Corey Farwell 57b87c2c4f Rollup merge of #42354 - Mark-Simulacrum:reduce-verbosity, r=alexcrichton
Reduce verbosity of build logs

This does two separate things.
 - Sets sccache logging to warn instead of info.
 - Makes tests when running for a given PR (not on auto branch) quiet. (cc @eddyb)

r? @alexcrichton
2017-06-03 01:00:52 -04:00
Corey Farwell e63d3b7148 Rollup merge of #42353 - steveklabnik:update-books, r=GuillaumeGomez
Update various book repos for the next release.
2017-06-03 01:00:51 -04:00
bors 14526a3744 Auto merge of #41953 - Aaronepower:patch-1, r=brson
Updated releases notes for 1.18

This is my first time making the release notes so please give it an extra once over!
2017-06-03 03:57:13 +00:00
Jeremy Soller f3286fd439 Switch to repr(C) for syscall structs 2017-06-02 20:57:46 -06:00
zzhu f113f54bac Better suggestion for unknown method
Fixes #42386
2017-06-02 17:01:16 -07:00
Venkata Giri Reddy ac8a1f5b6d rustc: remove temporary lifetime extension by borrow hint 2017-06-02 23:43:50 +00:00
bors bb907adbbd Auto merge of #42381 - Mark-Simulacrum:rollup, r=Mark-Simulacrum
Rollup of 10 pull requests

- Successful merges: #41981, #42225, #42310, #42319, #42335, #42343, #42355, #42360, #42370, #42372
- Failed merges:
2017-06-02 22:19:08 +00:00
Guillaume Gomez 6675bb3e73 Add E0603 error code 2017-06-02 21:40:22 +02:00
bors 107bd67ef7 Auto merge of #42189 - nikomatsakis:chalk-trait-env-param-env, r=eddyb
querify layout and move param env out of the infcx

The main goal of this PR is to move the parameter environment *out* of the inference context. This is because the inference environment will soon be changing over the course of inference --- for example, when we enter into a `for<'a> fn(...)` type, we will push a new environment with an increasing universe index, rather than skolemizing the `'a` references. Similarly, each obligation will soon be able to have a distinct parameter environment, and therefore the `Obligation` struct is extended to carry a `ParamEnv<'tcx>`. (I debated about putting it into the cause; seems plausible, but also weird.)

Along the way, I also reworked how layout works, moving the layout cache into a proper query along the lines of needs-drop and friends.

Finally, tweaks the inference context API. It seemed to be accumulating parameters at an alarming rate. The main way to e.g. make a subtype or equality relationship is to do the following:

    infcx.at(cause, param_env).sub(a, b)
    infcx.at(cause, param_env).eq(a, b)

In both cases, `a` is considered the "expected" type (this used to be specified by a boolean). I tried hard to preserve the existing notion of what was "expected", although in some cases I'm not convinced it was being set on purpose one way or the other. This is why in some cases you will see me do `sup(b, a)`, which is otherwise equivalent to `sub(a, b)`, but sets the "expected type" differently.

r? @eddyb
cc @arielb1
2017-06-02 19:23:14 +00:00
Mark Simulacrum 3447aa764a Quiet tests on PR tests 2017-06-02 12:04:00 -06:00
Mark Simulacrum 98dc118c72 Reduce sccache log level. 2017-06-02 11:44:54 -06:00
Alex Crichton 225073eff8 rustbuild: Remove RUSTFLAGS logic in rustc shim
This was added in #38072 but I can't recall why and AFAIK Cargo already handles
this. This was discovered through #42146 where passing duplicate flags was
causing problems.
2017-06-02 09:57:20 -07:00
Josh Stone 617aea4c9b rustbuild: Add `./x.py test --no-fail-fast`
This option forwards to each `cargo test` invocation, and applies the
same logic across all test steps to keep going after failures.  At the
end, a brief summary line reports how many commands failed, if any.

Note that if a test program fails to even start at all, or if an
auxiliary build command related to testing fails, these are still left
to stop everything right away.

Fixes #40219.
2017-06-02 09:27:44 -07:00
kennytm 3e6c83de1d
compiletest: Force directive to be first complete word in header comment.
Refactored some related code to take advantage of this change.
2017-06-02 23:28:22 +08:00
kennytm 38ef85696d
Introduce 'run-pass' header to 'ui' tests in compiletest. Fix issue #36516.
The 'run-pass' header cause a 'ui' test to execute the result. It is used
to test the lint output, at the same time ensure those lints won't cause
the source code to become compile-fail.

12 run-pass/run-pass-fulldeps tests gained the header and are moved to
ui/ui-fulldeps. After this move, no run-pass/run-pass-fulldeps tests should
rely on the compiler's JSON message. This allows us to stop passing
`--error-format json` in run-pass tests, thus fixing #36516.
2017-06-02 23:28:22 +08:00
Mark Simulacrum e05f1c1290 Rollup merge of #42372 - frewsxcv:frewsxcv/improve-receiver-docs, r=QuietMisdreavus
Rewrite a couple `Receiver` doc examples.

None
2017-06-02 09:10:49 -06:00
Mark Simulacrum 1a3d026094 Rollup merge of #42370 - mbrubeck:docs, r=frewsxcv
Add [[T]] -> [T] examples to SliceConcatExt docs

None
2017-06-02 09:10:48 -06:00
Mark Simulacrum 7a2d4b30b6 Rollup merge of #42360 - ollie27:rustdoc_vector_rename, r=GuillaumeGomez
rustdoc: Rename `Vector` and `FixedVector` to `Slice` and `Array`

Also store the array length as a usize rather than a String.

This is just a minor refactor.
2017-06-02 09:10:47 -06:00
Mark Simulacrum 812966717b Rollup merge of #42355 - bjorn3:patch-1, r=Mark-Simulacrum
Syntax highlight rust code in librustc/dep_graph/README.md
2017-06-02 09:10:46 -06:00
Mark Simulacrum 5775c9ec5f Rollup merge of #42343 - cuviper:install-executables, r=alexcrichton
Update rust-installer for Windows executable mode

It now marks a few whitelisted extensions as executable in the tarball,
so Windows packages can be extracted on other platforms and directly
execute install.sh.

It also includes a fix for the chmod on bulk dirs, so now the html docs
won't be marked executable en masse.

Fixes #42121
r? @alexcrichton
2017-06-02 09:10:45 -06:00
Mark Simulacrum c7287d9c09 Rollup merge of #42335 - jcowgill:fingerprint-be, r=michaelwoerister
Don't byteswap Fingerprints when encoding

Byteswapping Fingerprints when encoding is unnessesary and breaks if the Fingerprint is later decoded on a machine with different endianness to the one it was encoded on.

Fixes #42239

This PR fixes a regression caused by #42082. @michaelwoerister
2017-06-02 09:10:44 -06:00
Mark Simulacrum 85e5e20363 Rollup merge of #42319 - Manishearth:const-extern, r=nikomatsakis
Improve error message for const extern fn

It's currently ``error: unmatched visibility `pub` ``, which is a nonsensical error in this context.
2017-06-02 09:10:43 -06:00
Mark Simulacrum 1316281f2d Rollup merge of #42310 - scottmcm:deprecate-range-stepby, r=alexcrichton
Deprecate range-specific `step_by`

Deprecation attributes and test updates only.

Was replaced by an any-iterator version in https://github.com/rust-lang/rust/pull/41439

Last follow-up (this release) to https://github.com/rust-lang/rust/pull/42110#issuecomment-303210138

r? @alexcrichton
2017-06-02 09:10:42 -06:00
Mark Simulacrum 551dd7c7a2 Rollup merge of #42225 - brson:vs2017, r=alexcrichton
Support VS 2017

Fixes #38584

This replaces all the MSVC linker logic with that from the 'gcc' crate. The code looks the same, but there could be regressions.

I've only tested this with x86_64.

r? @alexcrichton
cc @vadimcn @retep998
2017-06-02 09:10:42 -06:00
Mark Simulacrum 32f418f60a Rollup merge of #41981 - gamazeps:thread-detach, r=frewsxcv
[Doc] Expands `detach` documentation in `thread::JoinHande`.

Part of #29378 .

- Adds an example of a thread detaching.
- Expands what `detaching` means.

r? @steveklabnik
2017-06-02 09:10:41 -06:00
bors d7798c3d17 Auto merge of #42128 - kennytm:travis-folder, r=alexcrichton
Improve Travis CI log (travis_fold, colors)

Result looks like (https://travis-ci.org/rust-lang/rust/jobs/234614611):

<details><summary>Full page screenshot</summary>

![1-fullpage](https://cloud.githubusercontent.com/assets/103023/26302841/2627c354-3f18-11e7-9299-52a2088639af.jpg)

</details>

---

* Bring back colors on Travis, which was disabled since #39036. Append `--color=always` to cargo when running in CI environment.
* Removed `set -x` from the shell scripts. The `retry` function already prints which command it is running, adding `-x` just adds noise to the output. Interesting information can be manually `echo`ed.
* Support `travis_fold`/`travis_time`. Matching pairs of these allow Travis CI to collapse the output in between. This greatly cut down the unnecessary "successful" output one need to scroll through before finding the failed statement.
* Passed `--quiet` to all tests, so tests not failing will not occupy a line of log, reducing bloat in the report.

Also include some minor changes, like changing the `script` of `.travis.yml` to execute a single-line command, so the log won't write the extremely long multi-line
`The command "if [ "$ALLOW_PR" = "" ] && [ "$TRAVIS_BRANCH" != "auto" ]; then … " exited with 0` at the end.
2017-06-02 12:14:14 +00:00
Peter Atashian 42ac31182b
Add test for vecs with overaligned data 2017-06-02 06:30:54 -04:00
Peter Atashian 077c23e987
Improve reallocation in alloc_system on Windows 2017-06-02 06:29:58 -04:00
Felix Raimundo b76b9e1467 Expands `detach` documentation in `thread::JoinHande`.
Part of #29378 .

- Adds an example of a thread detaching.
- Expands what `detaching` means.
2017-06-02 12:26:04 +02:00
bors 558cd1e393 Auto merge of #41670 - scottmcm:slice-rotate, r=alexcrichton
Add an in-place rotate method for slices to libcore

A helpful primitive for moving chunks of data around inside a slice.

For example, if you have a range selected and are drag-and-dropping it somewhere else (Example from [Sean Parent's talk](https://youtu.be/qH6sSOr-yk8?t=560)).

(If this should be an RFC instead of a PR, please let me know.)

Edit: changed example
2017-06-02 07:51:20 +00:00
bors 668e698bba Auto merge of #41418 - hirschenberger:prefetch-intrinsic, r=nagisa
Adding support for the llvm `prefetch` intrinsic

Optimize `slice::binary_search` by using prefetching.
2017-06-02 04:58:09 +00:00
Corey Farwell eb48ee72db Rewrite `Receiver::try_iter` doc example to show resulting values. 2017-06-02 00:21:32 -04:00
Corey Farwell d3f3e26db0 Rewrite `Receiver::iter` doc example to show resulting values. 2017-06-02 00:21:27 -04:00
steveklabnik 9001b2e09d Update various book repos for the next release. 2017-06-01 20:29:57 -04:00
Matt Brubeck 818ca98222 Add [[T]] -> [T] examples to SliceConcatExt docs 2017-06-01 17:26:52 -07:00
Ralf Jung 763ef81658 array drop glue: avoid using out-of-bounds index lvalues 2017-06-01 16:55:59 -07:00