summary refs log tree commit diff
path: root/src/test/incremental
AgeCommit message (Collapse)AuthorLines
2017-01-27Auto merge of #39281 - michaelwoerister:make-cc-incr-comp-opt-in, r=nikomatsakisbors-0/+15
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-25rename `Tables` to `TypeckTables`Niko Matsakis-80/+80
2017-01-25merge TypeckItemBody and Tables depnodesNiko Matsakis-80/+80
2017-01-24incr.comp.: Make cross-crate tracking for incr. comp. opt-in.Michael Woerister-0/+15
2017-01-05ICH: Add some more test cases for trait impls.Michael Woerister-0/+152
2016-12-28rustc: move function arguments into hir::Body.Eduard-Mihai Burtescu-1/+11
2016-12-28rustc: separate bodies for static/(associated)const and embedded constants.Eduard-Mihai Burtescu-15/+35
2016-12-28rustc: separate TraitItem from their parent Item, just like ImplItem.Eduard-Mihai Burtescu-28/+140
2016-12-28Auto merge of #38479 - michaelwoerister:extern_mod_ich, r=nikomatsakisbors-0/+272
ICH: Fix and test foreign mod hashing. r? @nikomatsakis
2016-12-24Rollup merge of #38557 - michaelwoerister:inline-asm-ich, r=nikomatsakisSteve Klabnik-0/+265
incr. comp.: Improve InlineAsm hashing and add test case r? @nikomatsakis
2016-12-22ICH: Add test case for InlineAsm hashes.Michael Woerister-0/+265
2016-12-21ICH: Add test case for extern mods.Michael Woerister-0/+272
2016-12-20ICH: Add test cases for inherent impls.Michael Woerister-1/+409
2016-12-13Auto merge of #38325 - frewsxcv:rollup, r=frewsxcvbors-0/+786
Rollup of 7 pull requests - Successful merges: #37052, #37941, #38067, #38164, #38202, #38264, #38299 - Failed merges:
2016-12-12Rollup merge of #38202 - michaelwoerister:closure-ich-test, r=nikomatsakisCorey Farwell-0/+786
Some incr. comp. hash tests r? @nikomatsakis
2016-12-12incr.comp.: Avoid creating an edge to DepNode::Krate when generating ↵Michael Woerister-0/+40
debuginfo namespaces.
2016-12-09incr.comp.: Add test case for symbol visibility changesMichael Woerister-0/+42
2016-12-06ICH: Add missing annotations for struct constructor expr test case.Michael Woerister-0/+12
2016-12-06ICH: Add test case for enum constructor expressions.Michael Woerister-0/+387
2016-12-06ICH: Add test case for indexing expressions.Michael Woerister-0/+157
2016-12-06ICH: Add test case sensitive to function bodies in metadata.Michael Woerister-0/+86
2016-12-06ICH: Add test case for closure expressions.Michael Woerister-0/+144
2016-12-03Rollup merge of #37919 - nikomatsakis:incremental-36168, r=mwCorey Farwell-0/+112
add regression test for #36168 Fixes #36168 r? @michaelwoerister
2016-11-29Fix SVH tests some moreFlorian Diebold-166/+228
2016-11-29Address remaining review commentsFlorian Diebold-0/+5
2016-11-29Fix remaining SVH testsFlorian Diebold-37/+101
2016-11-29WIP: update tests to pass -- not completeNiko Matsakis-33/+51
2016-11-29restructure `CollectItem` dep-node to separate fn sigs from bodiesNiko Matsakis-14/+7
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-29Make hello_world test work againFlorian Diebold-6/+7
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-29Fix new testsFlorian Diebold-56/+184
2016-11-29Give function bodies their own dep graph nodeFlorian Diebold-9/+20
2016-11-28fixup test casesNiko Matsakis-14/+7
2016-11-22ICH: Add test case for struct constructor expressions.Michael Woerister-0/+254
2016-11-21add regression test for #36168Niko Matsakis-0/+119
Fixes #36168
2016-11-20Rollup merge of #37841 - michaelwoerister:ich-loop-tests, r=nikomatsakisGuillaume Gomez-0/+1049
ICH: Add regression tests for various kinds of loops. r? @nikomatsakis
2016-11-18remove FIXMEs; issue fixedNiko Matsakis-9/+5
2016-11-18improve commentsNiko Matsakis-11/+31
2016-11-18add test for adding a fieldNiko Matsakis-0/+142
2016-11-18add test for changing pub inherent method signatureNiko Matsakis-0/+117
2016-11-18add test for changing pub inherent method bodyNiko Matsakis-0/+107
Ideally, callers should not be affected, but they currently are.
2016-11-17Auto merge of #37660 - nikomatsakis:incremental-36349, r=eddybbors-20/+547
Separate impl items from the parent impl This change separates impl item bodies out of the impl itself. This gives incremental more resolution. In so doing, it refactors how the visitors work, and cleans up a bit of the collect/check logic (mostly by moving things out of collect that didn't really belong there, because they were just checking conditions). However, this is not as effective as I expected, for a kind of frustrating reason. In particular, when invoking `foo.bar()` you still wind up with dependencies on private items. The problem is that the method resolution code scans that list for methods with the name `bar` -- and this winds up touching *all* the methods, even private ones. I can imagine two obvious ways to fix this: - separating fn bodies from fn sigs (#35078, currently being pursued by @flodiebold) - a more aggressive model of incremental that @michaelwoerister has been advocating, in which we hash the intermediate results (e.g., the outputs of collect) so that we can see that the intermediate result hasn't changed, even if a particular impl item has changed. So all in all I'm not quite sure whether to land this or not. =) It still seems like it has to be a win in some cases, but not with the test cases we have just now. I can try to gin up some test cases, but I'm not sure if they will be totally realistic. On the other hand, some of the early refactorings to the visitor trait seem worthwhile to me regardless. cc #36349 -- well, this is basically a fix for that issue, I guess r? @michaelwoerister NB: Based atop of @eddyb's PR https://github.com/rust-lang/rust/pull/37402; don't land until that lands.
2016-11-17add test for hashing trait implsNiko Matsakis-0/+404
2016-11-17ICH: Add regression tests for various kinds of loops.Michael Woerister-0/+1049
2016-11-17fix change_private_impl_method_cc testNiko Matsakis-3/+1
2016-11-17hash the contents of impl-item-ref by adding them to visitorNiko Matsakis-0/+128
Also simplify some of the `ty::AssociatedItem` representation, in particular by folding `has_value` into `hir::Defaultness`
2016-11-17when creating an AssociatedItem, read data from impl, not impl itemNiko Matsakis-20/+17
Before, when we created an AssociatedItem for impl item X, we would read the impl item itself. Now we instead load up the impl I that contains X and read the data from the `ImplItemRef` for X; actually, we do it for all impl items in I pre-emptively. This kills the last source of edges between a method X and a call to a method Y defined in the same impl. Fixes #37121
2016-11-16ICH: Add test case for type alias definitionsMichael Woerister-0/+249
2016-11-13Adapt accidentally fixed test case.Michael Woerister-4/+1
2016-11-12Rollup merge of #37694 - michaelwoerister:test-if-ich, r=brsonEduard-Mihai Burtescu-0/+232
ICH: Add test case for if- and if-let-expressions. r? @nikomatsakis
2016-11-10ICH: Add test case for if- and if-let-expressions.Michael Woerister-0/+232