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
Niko Matsakis
688946d671
restructure CollectItem dep-node to separate fn sigs from bodies
...
Setup two tasks, one of which only processes the signatures, in order to
isolate the typeck entries for signatures from those for bodies.
Fixes #36078
Fixes #37720
2016-11-29 13:04:27 +01:00
Florian Diebold
78b54c07e5
Make hello_world test work again
...
This used to work with the rustc_clean attribute, but doesn't anymore
since my rebase; but I don't know enough about the type checking to find
out what's wrong. The dep graph looks like this:
ItemSignature(xxxx) -> CollectItem(xxxx)
CollectItem(xxxx) -> ItemSignature(xxxx)
ItemSignature(xxxx) -> TypeckItemBody(yyyy)
HirBody(xxxx) -> CollectItem(xxxx)
The cycle between CollectItem and ItemSignature looks wrong, and my
guess is the CollectItem -> ItemSignature edge shouldn't be there, but
I'm not sure how to prevent it.
2016-11-29 13:04:27 +01:00
Florian Diebold
7b021298d9
Fix new tests
2016-11-29 13:04:27 +01:00
Florian Diebold
936dbbce37
Give function bodies their own dep graph node
2016-11-29 13:04:27 +01:00
Niko Matsakis
72fbf9f0fe
fixup test cases
2016-11-28 17:06:10 -05:00
Michael Woerister
12f3caf6a8
ICH: Add test case for struct constructor expressions.
2016-11-22 15:49:58 -05:00
Niko Matsakis
dac987e355
add regression test for #36168
...
Fixes #36168
2016-11-21 13:23:14 -05:00
Guillaume Gomez
e8d38beddf
Rollup merge of #37841 - michaelwoerister:ich-loop-tests, r=nikomatsakis
...
ICH: Add regression tests for various kinds of loops.
r? @nikomatsakis
2016-11-20 15:00:04 +01:00
Niko Matsakis
36f2af1999
remove FIXMEs; issue fixed
2016-11-18 13:37:36 -05:00
Niko Matsakis
95c6c9939c
improve comments
2016-11-18 10:13:30 -05:00
Niko Matsakis
30b97aa410
add test for adding a field
2016-11-18 10:13:30 -05:00
Niko Matsakis
70a1459143
add test for changing pub inherent method signature
2016-11-18 10:13:30 -05:00
Niko Matsakis
a488979593
add test for changing pub inherent method body
...
Ideally, callers should not be affected, but they currently are.
2016-11-18 10:13:30 -05:00