Auto merge of #89343 - Mark-Simulacrum:no-args-queries, r=cjgillot

Refactor fingerprint reconstruction

This PR replaces can_reconstruct_query_key with fingerprint_style, which returns the style of the fingerprint for that query. This allows us to avoid trying to extract a DefId (or equivalent) from keys which *are* reconstructible because they're () but not as DefIds.

This is done with the goal of fixing -Zdump-dep-graph, which seems to have broken a while ago (I didn't try to bisect). Currently even on a `fn main() {}` file it'll ICE (you need to also pass -Zquery-dep-graph for it to work at all), and this patch indirectly fixes the cause of that ICE. This also adds a test for it continuing to work.
This commit is contained in:
bors 2021-10-09 13:13:07 +00:00
commit 15491d7b6b
8 changed files with 87 additions and 48 deletions

View file

@ -0,0 +1,12 @@
-include ../../run-make-fulldeps/tools.mk
# ignore-cross-compile
# Just verify that we successfully run and produce dep graphs when requested.
all:
RUST_DEP_GRAPH=$(TMPDIR)/dep-graph $(RUSTC) \
-Cincremental=$(TMPDIR)/incr \
-Zquery-dep-graph -Zdump-dep-graph foo.rs
test -f $(TMPDIR)/dep-graph.txt
test -f $(TMPDIR)/dep-graph.dot

View file

@ -0,0 +1 @@
fn main() {}