Commit Graph

55601 Commits

Author SHA1 Message Date
bors
1f2ae3849c Auto merge of #35525 - jonathandturner:rollup, r=jonathandturner
Rollup of 15 pull requests

- Successful merges: #35371, #35396, #35446, #35449, #35452, #35458, #35465, #35466, #35470, #35475, #35477, #35484, #35504, #35507, #35524
- Failed merges: #35395, #35415
2016-08-10 10:03:08 -07:00
bors
ae77410350 Auto merge of #35405 - futile:tests_warn_timeout, r=brson
Add warning timeout for tests that run >1min

This makes it easier to identify hanging tests. As described in #2873,
when a test doesn't finish, we so far had no information on which test
that was. In this PR, we add a duration of 60 seconds for each test,
after which a warning will be printed mentioning that this specific test
has been running for a long time already.

Example output:
https://gist.github.com/futile/6ea3eed85fe632df8633c1b03c08b012

r? @brson
2016-08-10 03:00:56 -07:00
bors
561c4e1dd3 Auto merge of #35079 - nikomatsakis:incr-comp-ich-32753, r=mw
Various improvements to the SVH

This fixes a few points for the SVH:

- incorporate resolve results into the SVH;
- don't include nested items.

r? @michaelwoerister

cc #32753 (not fully fixed I don't think)
2016-08-09 21:00:21 -07:00
Niko Matsakis
83068ebafd pacify the merciless tidy 2016-08-09 20:28:46 -04:00
Niko Matsakis
c7f15aa178 incorporate resolve results into hashing
We now incorporate the `def_map` and `trait_map`
results into the SVH.
2016-08-09 20:28:46 -04:00
Niko Matsakis
953d711cc7 promote svh calculation into its own directory 2016-08-09 20:28:46 -04:00
Niko Matsakis
ae9c049cfc remove field that need not be public 2016-08-09 20:28:46 -04:00
Niko Matsakis
5001c92c3e stop hashing nested items, and add a test 2016-08-09 20:28:45 -04:00
Niko Matsakis
775bd93d72 make it possible to test if HIR is dirty
This requires passing in the dirty-node set explicitly since HIR nodes
wind up added to the graph either way.
2016-08-09 20:28:45 -04:00
bors
576f766594 Auto merge of #35401 - jonathandturner:enable_json_and_new_errors, r=jonathandturner
Turn on new errors and json mode

This PR is a big-switch, but on a well-worn path:

* Turns on new errors by default (and removes old skool)
* Moves json output from behind a flag

The RFC for new errors [landed](https://github.com/rust-lang/rfcs/pull/1644) and as part of that we wanted some bake time.  It's now had a few weeks + all the time leading up to the RFC of people banging on it.  We've also had [editors updating to the new format](https://github.com/saviorisdead/RustyCode/pull/159) and expect more to follow.

We also have an [issue on old skool](https://github.com/rust-lang/rust/issues/35330) that needs to be fixed as more errors are switched to the new style, but it seems silly to fix old skool errors when we fully intend to throw the switch in the near future.

This makes it lean towards "why not just throw the switch now, rather than waiting a couple more weeks?"  I only know of vim that wanted to try to parse the new format but were not sure how, and I think we can reach out to them and work out something in the 8 weeks before this would appear in a stable release.

We've [hashed out](https://github.com/rust-lang/rust/issues/35330) stabilizing JSON output, and it seems like people are relatively happy making what we have v1 and then likely adding to it in the future.  The idea is that we'd maintain backward compatibility and just add new fields as needed.  We'll also work on a separate output format that'd be better suited for interactive tools like IDES (since JSON message can get a little long depending on the error).

This PR stabilizes JSON mode, allowing its use without `-Z unstable-options`

Combined, this gives editors two ways to support errors going forward: parsing the new error format or using the JSON mode.  By moving JSON to stable, we can also add support to Cargo, which plugin authors tell us does help simplify their support story.

r? @nikomatsakis
cc @rust-lang/tools

Closes https://github.com/rust-lang/rust/issues/34826
2016-08-09 14:04:54 -07:00
Jonathan Turner
9b510ba39a Update cargo SHA to latest cargo 2016-08-09 10:14:08 -07:00
bors
e1d2bc2916 Auto merge of #35166 - nikomatsakis:incr-comp-ice-34991-2, r=mw
Address ICEs running w/ incremental compilation and building glium

Fixes for various ICEs I encountered trying to build glium with incremental compilation enabled. Building glium now works. Of the 4 ICEs, I have test cases for 3 of them -- I didn't isolate a test for the last commit and kind of want to go do other things -- most notably, figuring out why incremental isn't saving much *effort*.

But if it seems worthwhile and I can come back and try to narrow down the problem.

r? @michaelwoerister

Fixes #34991
Fixes #32015
2016-08-09 10:00:54 -07:00
Niko Matsakis
e0b82d5c3a fix license 2016-08-09 12:43:59 -04:00
Jonathan Turner
fb1c6acc81 Update E0087.rs 2016-08-09 07:53:52 -07:00
Niko Matsakis
76eecc733c pacify the mercilous tidy 2016-08-09 10:25:36 -04:00
bors
f0139140f6 Auto merge of #35426 - frewsxcv:os-sys-env-args-phantoms, r=alexcrichton
Utilize `PhantomData` to enforce `!Sync` and `!Send` field.

None
2016-08-09 05:26:50 -07:00
Niko Matsakis
ecbcf1b1b5 address comments from mw 2016-08-09 08:26:07 -04:00
Niko Matsakis
02a47032dd use preds to serialize just what we need
This massively speeds up serialization. It also
seems to produce deterministic metadata hashes
(before I was seeing inconsistent results).

Fixes #35232.
2016-08-09 08:26:06 -04:00
Niko Matsakis
9978cbc8f4 generalize BitMatrix to be NxM and not just NxN 2016-08-09 08:26:06 -04:00
Niko Matsakis
8150494ac2 add a deterministic_hash method to DefPath
Produces a deterministic hash, at least for a single platform /
compiler-version.
2016-08-09 08:26:06 -04:00
Niko Matsakis
d4bd0544ca add a -Z incremental-info flag 2016-08-09 08:26:06 -04:00
Niko Matsakis
571010bb52 replace Name with InternedString in DefPathData
Fixes #35292.
2016-08-09 08:26:06 -04:00
Niko Matsakis
a92b1a7981 make DepNode PartialOrd 2016-08-09 08:26:06 -04:00
Niko Matsakis
0e97240f98 isolate predecessor computation
The new `Predecessors` type computes a set of interesting targets and
their HIR predecessors, and discards everything in between.
2016-08-09 08:26:05 -04:00
bors
c2b03f8ba9 Auto merge of #35425 - apasel422:refcell, r=alexcrichton
Implement `RefCell::{try_borrow, try_borrow_mut}`

CC #35070

r? @alexcrichton
2016-08-09 02:11:50 -07:00
bors
58c5716e2d Auto merge of #34762 - creativcoder:slice-ext, r=alexcrichton
extend lifetime on binary_search_by_key of SliceExt trait

Fixes #34683.
2016-08-08 21:51:01 -07:00
Andrew Paseltiner
a20a1db54a
Implement RefCell::{try_borrow, try_borrow_mut} 2016-08-08 23:59:56 -04:00
Niko Matsakis
82b6dc20d8 fixup tests for new def'n of InlinedItem
it now carries a def-id; supply a dummy
2016-08-08 21:35:07 -04:00
Niko Matsakis
8fdc72f830 track MIR through the dep-graph
Per the discussion on #34765, we make one `DepNode::Mir` variant and use
it to represent both the MIR tracking map as well as passes that operate
on MIR. We also track loads of cached MIR (which naturally comes from
metadata).

Note that the "HAIR" pass adds a read of TypeckItemBody because it uses
a myriad of tables that are not individually tracked.
2016-08-08 18:44:24 -04:00
Niko Matsakis
88b2e9a66d rename KrateInfo to CrateInfo 2016-08-08 18:41:58 -04:00
bors
080e0e072f Auto merge of #35064 - pthariensflame:feature/cow_str_from_iter, r=alexcrichton
Add `FromIterator` implementations for `Cow<str>`

This seems like an oversight, since the corresponding implementation for `Cow<[T]> where T: Clone` exists.
2016-08-08 14:59:30 -07:00
Jonathan Turner
f835b38385 Rollup merge of #35524 - garekkream:update-E0162-new-error-format, r=jonathandturner
Update E0162 to the new format

Part of #35233.
Fixes #35268.

r? @jonathandturner
2016-08-08 13:25:59 -07:00
Jonathan Turner
7db3f86966 Rollup merge of #35507 - hank-der-hafenarbeiter:master, r=jonathandturner
Updated Error mesage to new format for E0221

Part of #35386
r? @jonathandturner
2016-08-08 13:25:59 -07:00
Jonathan Turner
0a3766a41a Rollup merge of #35504 - razielgn:updated-e0026-to-new-format, r=jonathandturner
Updated E0026 to new format.

Part of #35233.
Fixes #35497.

r? @jonathandturner
2016-08-08 13:25:59 -07:00
Jonathan Turner
a72891e9e8 Rollup merge of #35484 - KiChjang:e0205-bonus, r=GuillaumeGomez
Shrink E0205 span label to the trait being implemented

Part of #35233.
Extension of #35468.
Closes #35382.

r? @GuillaumeGomez
2016-08-08 13:25:59 -07:00
Jonathan Turner
8a7edc0116 Rollup merge of #35477 - GuillaumeGomez:fix_E0132, r=jonathandturner
Fix E0132 error display

Error and note now use the same span.

r? @jonathandturner
2016-08-08 13:25:58 -07:00
Jonathan Turner
bbbac59c29 Rollup merge of #35475 - shyaamsundhar:patch-1, r=jonathandturner
E0248 New Format
2016-08-08 13:25:58 -07:00
Jonathan Turner
0e4e8e9544 Rollup merge of #35470 - munyari:e0214, r=jonathandturner
Update E0214 to the new error format

Part of #35233

Addresses #35383
"r? @jonathandturner
2016-08-08 13:25:58 -07:00
Jonathan Turner
3d2d5c4c0f Rollup merge of #35466 - xitep:master, r=steveklabnik
book: fix formatting of module layout example
2016-08-08 13:25:57 -07:00
Jonathan Turner
39a26c59ef Rollup merge of #35465 - cardoe:pattern-book-update, r=steveklabnik
book: update example patterns to be more clear

When using Point { x: 0, y: 0 } and showing pattern matching decomposing
x and y individually its hard to understand. By using a different value
for x and a different value for y it is more clear.
2016-08-08 13:25:57 -07:00
Jonathan Turner
732e8f204a Rollup merge of #35458 - GuillaumeGomez:test_string_ICE, r=alexcrichton
Add run-pass test for issue 33498

Fixes #33498.

r? @alexcrichton
2016-08-08 13:25:57 -07:00
Jonathan Turner
936a6dfea5 Rollup merge of #35452 - ubsan:precedence, r=steveklabnik
Finish fixing the operator precedence tables

Add the unstable `:` colon and `<-` inplace operators.

r? @steveklabnik
2016-08-08 13:25:57 -07:00
Jonathan Turner
c479f0210c Rollup merge of #35449 - poveda-ruiz:master, r=jonathandturner
Updated E0087 to new format

Part of #35233. r? @jonathandturner
2016-08-08 13:25:56 -07:00
Jonathan Turner
7979da0783 Rollup merge of #35446 - pcn:update-E0023-to-new-format, r=jonathandturner
Update E0023 to the new format

Added some extra code to check for the appropriate ending for numbers ==
1 vs. not 1 in error messages.

Added an extra test so that the plural suffix is seen and exercised.
2016-08-08 13:25:56 -07:00
Jonathan Turner
dd38172903 Rollup merge of #35396 - munyari:e0191, r=jonathandturner
Update E0191 to the new error format

Part of #35233

"r? @jonathandturner
2016-08-08 13:25:56 -07:00
Jonathan Turner
75efffe7fb Rollup merge of #35371 - mgattozzi:master, r=steveklabnik
Update HashMap docs regarding DoS protection

Because of changes to how Rust acquires randomness HashMap is not
guaranteed to be DoS resistant. This commit reflects these changes in
the docs themselves and provides an alternative method to creating
a hash that is resistant if needed.

This fixes #33817 and includes relevant information regarding changes made in #33086
2016-08-08 13:25:55 -07:00
Krzysztof Garczynski
daf7c60d16 Update E0162 to the new format 2016-08-08 21:42:49 +02:00
Rahul Sharma
6fd1752b25 extend lifetime on binary_search_by_key of SliceExt trait 2016-08-09 00:32:35 +05:30
Federico Ravasio
ee38609c20 Updated E0026 to new format. 2016-08-08 20:58:21 +02:00
hank-der-hafenarbeiter
6eb0218075 updated unit test! 2016-08-08 20:52:00 +02:00