Skip to content

Conversation

michaelwoerister
Copy link
Member

Newly cached queries are:

  • const_is_rvalue_promotable_to_static
  • trans_fulfill_obligation
  • optimized_mir
  • unsafety_check_result
  • borrowck
  • mir_borrowck
  • mir_const_qualif
  • contains_extern_indicator
  • def_symbol_name
  • symbol_name

This also includes the stricter Span hashing first mentioned in #46490, which will lead to more false positives in release builds but overall is more correct -- and necessary for caching MIR. Hopefully we will soon be able to reduce the rate of false positives again by factoring Span out of MIR.

r? @nikomatsakis

@kennytm kennytm added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Dec 7, 2017
@nikomatsakis
Copy link
Contributor

@bors r+

@bors
Copy link
Collaborator

bors commented Dec 7, 2017

📌 Commit a16f296 has been approved by nikomatsakis

@nikomatsakis
Copy link
Contributor

@bors p=1 -- incremental is high priority

@bors
Copy link
Collaborator

bors commented Dec 8, 2017

⌛ Testing commit a16f296a55d0af8a5a1f12b097ff8623d7a9f186 with merge 24ee46af90b6e79c43b7c3c9aa4ecfc1f01e025b...

@bors
Copy link
Collaborator

bors commented Dec 8, 2017

💔 Test failed - status-travis

@kennytm kennytm added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Dec 8, 2017
@kennytm
Copy link
Member

kennytm commented Dec 8, 2017

Legit.

[00:07:50] error[E0277]: the trait bound `core::option::Option<mir::ClosureRegionRequirements>: serialize::Decodable` is not satisfied
[00:07:50]    --> /checkout/src/librustc/ty/maps/config.rs:634:48
[00:07:50]     |
[00:07:50] 634 |                 tcx.on_disk_query_result_cache.try_load_query_result(tcx, id)
[00:07:50]     |                                                ^^^^^^^^^^^^^^^^^^^^^ the trait `serialize::Decodable` is not implemented for `core::option::Option<mir::ClosureRegionRequirements>`
[00:07:50] ...
[00:07:50] 642 | impl_disk_cacheable_query!(mir_borrowck, |def_id| def_id.is_local());
[00:07:50]     | --------------------------------------------------------------------- in this macro invocation
[00:07:50]     |
[00:07:50]     = help: the following implementations were found:
[00:07:50]               <core::option::Option<T> as serialize::Decodable>
[00:07:50] 
[00:07:50] error[E0277]: the trait bound `core::option::Option<mir::ClosureRegionRequirements>: serialize::Encodable` is not satisfied
[00:07:50]    --> /checkout/src/librustc/ty/maps/on_disk_cache.rs:213:13
[00:07:50]     |
[00:07:50] 213 |             encode_query_results::<mir_borrowck, _>(tcx, enc, qri)?;
[00:07:50]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serialize::Encodable` is not implemented for `core::option::Option<mir::ClosureRegionRequirements>`
[00:07:50]     |
[00:07:50]     = help: the following implementations were found:
[00:07:50]               <core::option::Option<T> as serialize::Encodable>
[00:07:50]     = note: required by `ty::maps::on_disk_cache::encode_query_results`
[00:07:50] 
[00:07:52] error: aborting due to 2 previous errors
[00:07:52] 
[00:07:52] error: Could not compile `rustc`.
[00:07:52] 

@michaelwoerister
Copy link
Member Author

Rebased.

@bors r=nmatsakis

@bors
Copy link
Collaborator

bors commented Dec 8, 2017

📌 Commit 539e171 has been approved by nmatsakis

@kennytm kennytm added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Dec 8, 2017
@bors
Copy link
Collaborator

bors commented Dec 8, 2017

⌛ Testing commit 539e171 with merge 88fc3bc...

bors added a commit that referenced this pull request Dec 8, 2017
…akis

incr.comp.: Enable query result caching for many more queries

Newly cached queries are:
* const_is_rvalue_promotable_to_static
* trans_fulfill_obligation
* optimized_mir
* unsafety_check_result
* borrowck
* mir_borrowck
* mir_const_qualif
* contains_extern_indicator
* def_symbol_name
* symbol_name

This also includes the stricter `Span` hashing first mentioned in #46490, which will lead to more false positives in release builds but overall is more correct -- and necessary for caching MIR. Hopefully we will soon be able to reduce the rate of false positives again by factoring `Span` out of MIR.

r? @nikomatsakis
@bors
Copy link
Collaborator

bors commented Dec 8, 2017

☀️ Test successful - status-appveyor, status-travis
Approved by: nmatsakis
Pushing 88fc3bc to master...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants