about summary refs log tree commit diff
path: root/src/test/incremental
AgeCommit message (Collapse)AuthorLines
2017-11-08incr.comp.: Make DefSpan an input dep-node so it is not affected by the ↵Michael Woerister-7/+9
existing Span/HIR hashing hack.
2017-11-07incr.comp.: Acknowledge the fact that shift operations can panic at runtime.Michael Woerister-2/+37
2017-11-07Fix incremental tests after change to instantiation strategy.Michael Woerister-275/+285
2017-11-03[Syntax Breaking] Rename DefaultImpl to AutoImplleonardo.yvens-2/+2
DefaultImpl is a highly confusing name for what we now call auto impls, as in `impl Send for ..`. The name auto impl is not formally decided but for sanity anything is better than `DefaultImpl` which refers neither to `default impl` nor to `impl Default`.
2017-11-01Auto merge of #45472 - michaelwoerister:incr-comp-caching-base, r=nikomatsakisbors-0/+19
incr.comp.: Implement compiler diagnostic persistence. This PR implements storing and loading diagnostics that the compiler generates and thus allows for emitting warnings during incremental compilation without actually re-evaluating the thing the warning originally came from. It also lays some groundwork for storing and loading type information and MIR in the incr. comp. cache. ~~It is still work in progress:~~ - ~~There's still some documentation to be added.~~ - ~~The way anonymous queries are handled might lead to duplicated emissions of warnings. Not sure if there is a better way or how frequent such duplication would be in practice.~~ Diagnostic message duplication is addressed separately in #45519. r? @nikomatsakis
2017-10-26incr.comp.: Update overflow-check logic in HIR hashing.Michael Woerister-40/+82
2017-10-25incr.comp.: Implement query diagnostic persistence.Michael Woerister-0/+19
2017-10-23update inherent_impls testsNiko Matsakis-6/+5
Now that we are visiting things in a different order during lowering, adding parameters winds up affecting the HirIds assigned to thinks in the method body, whereas it didn't before. We could fix this by reordering the order in which we visit `generics` during lowering, but this feels very fragile. Seems better to just let typeck tables be dirty here.
2017-10-14Auto merge of #45104 - vitiral:incr_auto_assert2, r=michaelwoeristerbors-446/+392
Incremental compilation auto assert (with except) cc @michaelwoerister bors merged part 1, so this is a WIP of part 2 of #45009 -- auto asserting DepNodes depending on the type of node rustc_clean/dirty is attached to Framework: - [x] finish auto-detection for specified DepNodes - [x] finish auto-detection for remaining DepNodes Test Refactors: - [x] consts.rs - [x] enum_constructors.rs - [x] extern_mods.rs - [x] inherent_impls.rs - [x] statics.rs - [x] struct_constructors.rs - ~~**BLOCKED** trait_defs.rs, see FIXME~~ - ~~**BLOCKED** trait_impls.rs~~ - [x] type_defs.rs - [x] enum_defs.rs
2017-10-13fix review commentsGarrett Berg-31/+34
2017-10-12incr comp: rustc_clean/dirty auto assertGarrett Berg-436/+379
This adds auto-assertion to `rustc_clean/dirty` and also implements more comprehensive testing for - src/test/incremental/hashes/enum_constructors.rs - src/test/incremental/hashes/enum_defs.rs - src/test/incremental/hashes/extern_mods.rs - src/test/incremental/hashes/inherent_impls.rs - src/test/incremental/hashes/statics.rs - src/test/incremental/hashes/struct_constructors.rs - src/test/incremental/hashes/type_defs.rs trait_defs.rs and trait_impl.rs are blocked on a hard to triage compiler ICE (at least hard for a newbie like me) having to do with some DepNodes not getting computed for traits. A FIXME has been added in the source to reflect this continued work.
2017-10-10Rollup merge of #45148 - gaurikholkar:master, r=nikomatsakisSteve Klabnik-0/+160
Update let-expressions.rs with DepNode labels As a part of #44924, the PR has tests verified for the following dependency nodes for **let-expressions** ``` - MirValidated - MirOptimized - TypeCheckTables - TypeOfItem - GenericsOfItem - PredicatesOfItem - FnSignature ``` As we are more concerned with the function body, the following fingerprints do not change over compilation sessions. ```- TypeOfItem - GenericsOfItem - PredicatesOfItem - FnSignature ``` r? @nikomatsakis cc @michaelwoerister P.S. Will add more tests as and when possible :)
2017-10-09Update let-expressions.rsgaurikholkar-0/+160
2017-10-09incr.comp.: Move macro-export test case to src/test/incremental.Michael Woerister-0/+22
2017-10-06Auto merge of #44951 - vitiral:incr_struct_defs, r=michaelwoeristerbors-4/+177
incr compilation struct_defs.rs I am prematurely openeing this as I need mentoring help from @michaelwoerister (also pinged @nikomatsakis) First, is this the right approach for these changes? Second, I'm a bit confused by the results so far. - Changing `TupleStructFieldType(i32)` -> `...(u32)` changes only Hir and HirBody, not TypeOfItem - Chaning `TupleStructAddField(i32)` -> `...(i32, u32)` *does* change TypeOfItem This seems wrong. I feel like it should change TypeOfItem in both cases. Is this a bug in incr compilation or is it expected?
2017-10-03related to #44924: update incr compilation for struct_defs.rsGarrett Berg-4/+177
2017-10-02incr.comp.: Use red/green tracking for CGU re-use.Michael Woerister-19/+14
2017-09-27Auto merge of #44709 - Badel2:inclusive-range-dotdoteq, r=petrochenkovbors-1/+1
Initial support for `..=` syntax #28237 This PR adds `..=` as a synonym for `...` in patterns and expressions. Since `...` in expressions was never stable, we now issue a warning. cc @durka r? @aturon
2017-09-23incr.comp.: Make #[rustc_dirty/clean] test for fingerprint equality instead ↵Michael Woerister-4/+7
of DepNode existence.
2017-09-23incr.comp.: Remove support for loading metadata fingerprints.Michael Woerister-0/+12
2017-09-22Add support for `..=` syntaxAlex Burka-1/+1
Add ..= to the parser Add ..= to libproc_macro Add ..= to ICH Highlight ..= in rustdoc Update impl Debug for RangeInclusive to ..= Replace `...` to `..=` in range docs Make the dotdoteq warning point to the ... Add warning for ... in expressions Updated more tests to the ..= syntax Updated even more tests to the ..= syntax Updated the inclusive_range entry in unstable book
2017-09-18Fix issues uncovered by rebasing:Michael Woerister-1/+4
- Don't hash traits in scope as part of HIR hashing any more. - Some queries returned DefIndexes from other crates. - Provide a generic way of stably hashing maps (not used everywhere yet).
2017-09-05Ignore failing tests harderAlex Crichton-4/+4
2017-09-05Ignore failing incremental testsAlex Crichton-3/+7
These should hopefully get fixed with red/green, but until that time alas!
2017-07-18Detect implicitly defined late bound lifetime parameters as wellVadim Petrochenkov-1/+1
2017-07-18Prohibit lifetime arguments in path segments with late bound lifetime parametersVadim Petrochenkov-2/+2
2017-07-12Auto merge of #43107 - michaelwoerister:less-span-info-in-debug, r=nikomatsakisbors-0/+63
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-07incr.comp.: Don't include span information in the ICH of type definitions.Michael Woerister-0/+63
2017-07-06remove associated_consts feature gateSean McArthur-1/+0
2017-06-12consider closures/ty-fn-defs when making trait selection keysNiko Matsakis-0/+45
Fixes #42602.
2017-06-12kill various tasks we no longer need and remove outdated README textNiko Matsakis-17/+8
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-09incr.comp.: Uniformly represent DepNodes as (Kind, StableHash) pairs.Michael Woerister-4/+4
2017-05-23incr.comp.: Track expanded spans instead of FileMaps.Michael Woerister-0/+3
2017-05-18Enable cross-crate incremental compilation by default.Michael Woerister-18/+3
2017-05-15Make incr. comp. test case dependent on specific ICH instead of SVHMichael Woerister-5/+4
2017-05-10ICH: Handle case of removed FileMaps.Michael Woerister-0/+44
2017-05-08incr.comp.: Hash more pieces of crate metadata to detect changes there.Michael Woerister-0/+66
2017-04-16rustc: use monomorphic const_eval for cross-crate enum discriminants.Eduard-Mihai Burtescu-2/+6
2017-04-12ICH: Replace old, transitive metadata hashing with direct hashing approach.Michael Woerister-154/+287
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-02-25rustc_typeck: hook up collect and item/body check to on-demand.Eduard-Mihai Burtescu-1/+4
2017-02-22detect "bootstrap outputs" when serializing the dep-graphNiko Matsakis-0/+40
Fixes #39828.
2017-02-09Auto merge of #39265 - est31:master, r=petrochenkovbors-2/+0
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-08Rollup merge of #39582 - nikomatsakis:incr-comp-issue-39569, r=michaelwoeristerCorey Farwell-0/+38
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-08Stabilize static in constest31-2/+0
Closes #35897.
2017-02-06fix case where some edges can't be recreated by expanding the graphNiko Matsakis-1/+1
cc #39569 -- almost certainly a fix for that
2017-02-06regr testNiko Matsakis-0/+38
2017-02-03Let the ICH testing framework check that all #[rustc_dirty] attrs have been ↵Michael Woerister-27/+183
actually checked.
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