Commit graph

146 commits

Author SHA1 Message Date
Vadim Petrochenkov
e40cedb393 Detect implicitly defined late bound lifetime parameters as well 2017-07-18 00:12:48 +03:00
Vadim Petrochenkov
7ca378b251 Prohibit lifetime arguments in path segments with late bound lifetime parameters 2017-07-18 00:12:48 +03:00
bors
8bba5ad309 Auto merge of #43107 - michaelwoerister:less-span-info-in-debug, r=nikomatsakis
incr.comp.: Don't include span information in the ICH of type definitions

This should improve some of the `regex` tests on perf.rlo. Not including spans into the ICH is harmless until we also cache warnings. To really solve the problem, we need to do more refactoring (see #43088).

r? @nikomatsakis
2017-07-12 08:45:39 +00:00
Michael Woerister
bca857021e incr.comp.: Don't include span information in the ICH of type definitions. 2017-07-07 14:23:38 +02:00
Sean McArthur
74b2d69358 remove associated_consts feature gate 2017-07-06 11:52:25 -07:00
Niko Matsakis
36973f743f consider closures/ty-fn-defs when making trait selection keys
Fixes #42602.
2017-06-12 17:23:21 -04:00
Niko Matsakis
3f99118871 kill various tasks we no longer need and remove outdated README text
In the case of `TransCrateItem`, I had to tweak the tests a bit, but
it's a concept that doesn't work well under new system.
2017-06-12 16:00:31 -04:00
Michael Woerister
3607174909 incr.comp.: Uniformly represent DepNodes as (Kind, StableHash) pairs. 2017-06-09 15:03:34 +02:00
Michael Woerister
21dd71f514 incr.comp.: Track expanded spans instead of FileMaps. 2017-05-23 18:20:51 +02:00
Michael Woerister
1b8df3d7fb Enable cross-crate incremental compilation by default. 2017-05-18 10:12:13 +02:00
Michael Woerister
513cc6d538 Make incr. comp. test case dependent on specific ICH instead of SVH 2017-05-15 15:27:49 +02:00
Michael Woerister
84a40c1443 ICH: Handle case of removed FileMaps. 2017-05-10 12:35:36 +02:00
Michael Woerister
6a5e2a5a9e incr.comp.: Hash more pieces of crate metadata to detect changes there. 2017-05-08 12:31:26 +02:00
Eduard-Mihai Burtescu
6dc21b71cf rustc: use monomorphic const_eval for cross-crate enum discriminants. 2017-04-16 01:31:37 +03:00
Michael Woerister
ca2dce9b48 ICH: Replace old, transitive metadata hashing with direct hashing approach.
Instead of collecting all potential inputs to some metadata entry and
hashing those, we directly hash the values we are storing in metadata.
This is more accurate and doesn't suffer from quadratic blow-up when
many entries have the same dependencies.
2017-04-12 11:47:26 +02:00
Eduard-Mihai Burtescu
ba11640179 rustc_typeck: hook up collect and item/body check to on-demand. 2017-02-25 18:35:25 +02:00
Niko Matsakis
b576abd2cc detect "bootstrap outputs" when serializing the dep-graph
Fixes #39828.
2017-02-22 12:02:41 -05:00
bors
1129ce51a6 Auto merge of #39265 - est31:master, r=petrochenkov
Stabilize static lifetime in statics

Stabilize the "static_in_const" feature. Blockers before this PR can be merged:

* [x] The [FCP with inclination to stabilize](https://github.com/rust-lang/rust/issues/35897#issuecomment-270441437) needs to be over. FCP lasts roughly three weeks, so will be over at Jan 25, aka this thursday.
* [x] Documentation needs to be added (#37928)

Closes #35897.
2017-02-09 11:42:49 +00:00
Corey Farwell
944933ef4e Rollup merge of #39582 - nikomatsakis:incr-comp-issue-39569, r=michaelwoerister
Handle the case where an intermediate node can't be recreated

This solution grows the graph, but this is quite the corner case.

r? @michaelwoerister
2017-02-08 10:19:52 -05:00
est31
f8b6108deb Stabilize static in const
Closes #35897.
2017-02-08 12:33:35 +01:00
Niko Matsakis
4f5fc4e242 fix case where some edges can't be recreated by expanding the graph
cc #39569 -- almost certainly a fix for that
2017-02-06 10:20:23 -05:00
Niko Matsakis
b9757863df regr test 2017-02-06 09:37:32 -05:00
Michael Woerister
14191eed41 Let the ICH testing framework check that all #[rustc_dirty] attrs have been actually checked. 2017-02-03 15:08:42 -05:00
bors
fece9c7356 Auto merge of #39281 - michaelwoerister:make-cc-incr-comp-opt-in, r=nikomatsakis
incr.comp.: Make cross-crate tracking for incr. comp. opt-in.

The current implementation of cross-crate dependency tracking can cause quite long compile times and high memory usage for some crates (see #39208 for example). This PR therefore makes that part of dependency tracking optional. Incremental compilation still works, it will only have very coarse dep-tracking for upstream crates.

r? @nikomatsakis
2017-01-27 07:36:43 +00:00
Niko Matsakis
282f7a3c44 rename Tables to TypeckTables 2017-01-25 16:24:00 -05:00
Niko Matsakis
1c0c2af3dc merge TypeckItemBody and Tables depnodes 2017-01-25 15:50:47 -05:00
Michael Woerister
197f037652 incr.comp.: Make cross-crate tracking for incr. comp. opt-in. 2017-01-24 17:56:29 -05:00
Michael Woerister
56e5867698 ICH: Add some more test cases for trait impls. 2017-01-05 10:53:29 -05:00
Eduard-Mihai Burtescu
f89856be6c rustc: move function arguments into hir::Body. 2016-12-28 11:29:19 +02:00
Eduard-Mihai Burtescu
e64f64a2fc rustc: separate bodies for static/(associated)const and embedded constants. 2016-12-28 11:27:57 +02:00
Eduard-Mihai Burtescu
864928297d rustc: separate TraitItem from their parent Item, just like ImplItem. 2016-12-28 11:21:45 +02:00
bors
a9ab778815 Auto merge of #38479 - michaelwoerister:extern_mod_ich, r=nikomatsakis
ICH: Fix and test foreign mod hashing.

r? @nikomatsakis
2016-12-28 01:30:31 +00:00
Steve Klabnik
8836a9da72 Rollup merge of #38557 - michaelwoerister:inline-asm-ich, r=nikomatsakis
incr. comp.: Improve InlineAsm hashing and add test case

r? @nikomatsakis
2016-12-24 14:29:32 -05:00
Michael Woerister
6a51d37490 ICH: Add test case for InlineAsm hashes. 2016-12-22 14:27:53 -05:00
Michael Woerister
d0c61ebc12 ICH: Add test case for extern mods. 2016-12-21 17:16:28 -05:00
Michael Woerister
78f630f854 ICH: Add test cases for inherent impls. 2016-12-20 16:54:22 -05:00
bors
5a2b50b33d Auto merge of #38325 - frewsxcv:rollup, r=frewsxcv
Rollup of 7 pull requests

- Successful merges: #37052, #37941, #38067, #38164, #38202, #38264, #38299
- Failed merges:
2016-12-13 02:28:23 +00:00
Corey Farwell
a9dcfd0936 Rollup merge of #38202 - michaelwoerister:closure-ich-test, r=nikomatsakis
Some incr. comp. hash tests

r? @nikomatsakis
2016-12-12 14:10:33 -05:00
Michael Woerister
271fb22924 incr.comp.: Avoid creating an edge to DepNode::Krate when generating debuginfo namespaces. 2016-12-12 12:18:04 -05:00
Michael Woerister
90f0de8244 incr.comp.: Add test case for symbol visibility changes 2016-12-09 17:47:56 -05:00
Michael Woerister
9ccd5c5739 ICH: Add missing annotations for struct constructor expr test case. 2016-12-06 18:12:12 -05:00
Michael Woerister
5c3a69e779 ICH: Add test case for enum constructor expressions. 2016-12-06 18:11:47 -05:00
Michael Woerister
277675cb00 ICH: Add test case for indexing expressions. 2016-12-06 17:40:42 -05:00
Michael Woerister
45b89b82c2 ICH: Add test case sensitive to function bodies in metadata. 2016-12-06 16:59:07 -05:00
Michael Woerister
78fd220614 ICH: Add test case for closure expressions. 2016-12-06 16:58:23 -05:00
Corey Farwell
8916accc10 Rollup merge of #37919 - nikomatsakis:incremental-36168, r=mw
add regression test for #36168

Fixes #36168

r? @michaelwoerister
2016-12-03 15:39:51 -05:00
Florian Diebold
b10bbde335 Fix SVH tests some more 2016-11-29 13:04:27 +01:00
Florian Diebold
725cffb1d5 Address remaining review comments 2016-11-29 13:04:27 +01:00
Florian Diebold
d5a501d312 Fix remaining SVH tests 2016-11-29 13:04:27 +01:00
Niko Matsakis
dd1491cfbe WIP: update tests to pass -- not complete 2016-11-29 13:04:27 +01:00