Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upincr.comp.: Implement compiler diagnostic persistence. #45472
Conversation
rust-highfive
assigned
nikomatsakis
Oct 23, 2017
carols10cents
added
the
S-waiting-on-author
label
Oct 23, 2017
michaelwoerister
force-pushed the
michaelwoerister:incr-comp-caching-base
branch
from
f63f753
to
2630b93
Oct 24, 2017
michaelwoerister
added some commits
Oct 19, 2017
michaelwoerister
force-pushed the
michaelwoerister:incr-comp-caching-base
branch
from
416bff1
to
8769184
Oct 25, 2017
michaelwoerister
changed the title
[WIP] incr.comp.: Implement compiler diagnostic persistence.
incr.comp.: Implement compiler diagnostic persistence.
Oct 25, 2017
michaelwoerister
added
S-waiting-on-review
and removed
S-waiting-on-author
labels
Oct 25, 2017
nikomatsakis
approved these changes
Oct 30, 2017
| /// This provides access to the incr. comp. on-disk cache for query results. | ||
| /// Do not access this directly. It is only meant to be used by | ||
| /// `DepGraph::try_mark_green()` and the query infrastructure in `ty::maps`. | ||
| pub(crate) on_disk_query_result_cache: maps::OnDiskCache<'tcx>, |
This comment has been minimized.
This comment has been minimized.
nikomatsakis
Oct 30, 2017
Contributor
as an aside, it feels to me like "pub(crate) visibility with scary comment" is a sign that this code is not "well aligned" in terms of module structure. We should review at some point.
|
|
||
| // revisions: cfail1 cfail2 cfail3 | ||
| // compile-flags: -Coverflow-checks=on | ||
| // must-compile-successfully |
This comment has been minimized.
This comment has been minimized.
nikomatsakis
Oct 30, 2017
Contributor
this test seems good, but I wish we had some way to guarantee that the warning was coming from the red-green code. e.g., some way to assert that the relevant query that emits the warning normally was not running. But... good enough I guess.
This comment has been minimized.
This comment has been minimized.
michaelwoerister
Oct 30, 2017
Author
Contributor
It will only start to be really exercised once we cache pre-trans data.
This comment has been minimized.
This comment has been minimized.
|
@bors r+ |
This comment has been minimized.
This comment has been minimized.
|
@bors r=nikomatsakis |
This comment has been minimized.
This comment has been minimized.
|
@bors r=nikomatsakis Err this PR is not in bors's queue |
kennytm
closed this
Oct 30, 2017
kennytm
reopened this
Oct 30, 2017
This comment has been minimized.
This comment has been minimized.
|
@bors r=nikomatsakis |
This comment has been minimized.
This comment has been minimized.
|
|
kennytm
added
S-waiting-on-bors
and removed
S-waiting-on-review
labels
Oct 30, 2017
This comment has been minimized.
This comment has been minimized.
bors
added a commit
that referenced
this pull request
Oct 30, 2017
This comment has been minimized.
This comment has been minimized.
|
|
This comment has been minimized.
This comment has been minimized.
|
MIPS TLS problem same as that of #45187 (comment) and #45529 (comment). Legit. |
kennytm
added
S-waiting-on-author
and removed
S-waiting-on-bors
labels
Oct 31, 2017
kennytm
referenced this pull request
Oct 31, 2017
Closed
rustbuild: Build libstd with ThinLTO #45529
This comment has been minimized.
This comment has been minimized.
|
The linkage error here I hope will be unblocked with #45655 |
This comment has been minimized.
This comment has been minimized.
|
@bors: retry |
kennytm
added
S-waiting-on-bors
and removed
S-waiting-on-author
labels
Oct 31, 2017
This comment has been minimized.
This comment has been minimized.
bors
added a commit
that referenced
this pull request
Nov 1, 2017
This comment has been minimized.
This comment has been minimized.
|
@bors p=1 |
This comment has been minimized.
This comment has been minimized.
|
|
michaelwoerister commentedOct 23, 2017
•
edited
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