don't completely reset HeadUsages by lcnr · Pull Request #148649 · rust-lang/rust (original) (raw)
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Conversation2 Commits1 Checks11 Files changed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
[ Show hidden characters]({{ revealButtonHref }})
This is really subtle ☠️ I've actually went and added testing for search_graph.ignore_candidate_head_usages to https://github.com/lcnr/search_graph_fuzz now. I should have done that when I originally implemented but didn't quite know how to do so back then.
The search graph is far too subtle to think through it manually. I've added the affected proof tree to https://github.com/rust-lang/trait-system-refactor-initiative/blob/main/notes/next-solver/search-graph/general.md#keeping-provisional-cache-entries-on-rerun. It's
- A
- B
* C (depends on B and gets dropped when rerunning)
* D (does not depend on B so we keep it around when rerunning)
* C (irrevant candidate)
* A
* B
* D
* C (irrevant candidate)
* D
* A
* rerun
* C (use provisional cache entry which doesn't depend on B)
* D (use provisional cache entry which doesn't depend on B)
- B
Fixes the ICE in rust-lang/trait-system-refactor-initiative#246 (comment). I think this issue is brittle enough that adding that as a test isn't really useful. Any small change to the search graph will prevent it from testing this. We do test this fix via the fuzzer.
r? @BoxyUwU
rustbot added S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.
Relevant to the compiler team, which will review and decide on the PR/issue.
labels
📌 Commit c07f11a has been approved by BoxyUwU
It is now in the queue for this repository.
bors 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-review
Status: Awaiting review from the assignee but also interested parties.
labels
jhpratt added a commit to jhpratt/rust that referenced this pull request
bors added a commit that referenced this pull request
Rollup of 15 pull requests
Successful merges:
- #147404 (Fix issue with callsite inline attribute not being applied sometimes.)
- #147534 (Implement SIMD funnel shifts in const-eval/Miri)
- #147686 (update isolate_highest_one for NonZero)
- #148020 (Show backtrace on allocation failures when possible)
- #148204 (Modify contributor email entries in .mailmap)
- #148230 (rustdoc: Properly highlight shebang, frontmatter & weak keywords in source code pages and code blocks)
- #148555 (Fix rust-by-example spanish translation)
- #148556 (Fix suggestion for returning async closures)
- #148585 ([rustdoc] Replace
printmethods with functions to improve code readability) - #148600 (re-use
self.get_all_attrsresult for pass indirectly attribute) - #148612 (Add note for identifier with attempted hygiene violation)
- #148613 (Switch hexagon targets to rust-lld)
- #148644 ([bootstrap] Make
--openoption work withdoc src/tools/error_index_generator) - #148649 (don't completely reset
HeadUsages) - #148675 (Remove eslint-js from npm dependencies)
r? @ghost
@rustbot modify labels: rollup
jhpratt added a commit to jhpratt/rust that referenced this pull request
bors added a commit that referenced this pull request
Rollup of 16 pull requests
Successful merges:
- #147534 (Implement SIMD funnel shifts in const-eval/Miri)
- #147686 (update isolate_highest_one for NonZero)
- #148020 (Show backtrace on allocation failures when possible)
- #148204 (Modify contributor email entries in .mailmap)
- #148230 (rustdoc: Properly highlight shebang, frontmatter & weak keywords in source code pages and code blocks)
- #148279 (rustc_builtin_macros: rename bench parameter to avoid collisions with user-defined function names)
- #148555 (Fix rust-by-example spanish translation)
- #148556 (Fix suggestion for returning async closures)
- #148585 ([rustdoc] Replace
printmethods with functions to improve code readability) - #148600 (re-use
self.get_all_attrsresult for pass indirectly attribute) - #148612 (Add note for identifier with attempted hygiene violation)
- #148613 (Switch hexagon targets to rust-lld)
- #148619 (Enable std locking functions on AIX)
- #148644 ([bootstrap] Make
--openoption work withdoc src/tools/error_index_generator) - #148649 (don't completely reset
HeadUsages) - #148675 (Remove eslint-js from npm dependencies)
r? @ghost
@rustbot modify labels: rollup
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request
bors added a commit that referenced this pull request
Rollup of 22 pull requests
Successful merges:
- #128666 (Add
overflow_checksintrinsic) - #146305 (Add correct suggestion for multi-references for self type in method)
- #147179 ([DebugInfo] Fix container types failing to find template args)
- #147743 (Show packed field alignment in mir_transform_unaligned_packed_ref)
- #148079 (Rename
downcast_[ref|mut]_unchecked->downcast_unchecked_[ref|mut]) - #148084 (Optimize path components iteration on platforms that don't have prefixes)
- #148126 (Fix rust stdlib build failing for VxWorks)
- #148204 (Modify contributor email entries in .mailmap)
- #148279 (rustc_builtin_macros: rename bench parameter to avoid collisions with user-defined function names)
- #148333 (constify result unwrap unchecked)
- #148539 (Add Allocator proxy impls for Box, Rc, and Arc)
- #148601 (
invalid_atomic_ordering: also lintupdate&try_update) - #148612 (Add note for identifier with attempted hygiene violation)
- #148613 (Switch hexagon targets to rust-lld)
- #148619 (Enable std locking functions on AIX)
- #148644 ([bootstrap] Make
--openoption work withdoc src/tools/error_index_generator) - #148649 (don't completely reset
HeadUsages) - #148673 (Remove a remnant of
dyn*from the parser) - #148675 (Remove eslint-js from npm dependencies)
- #148680 (Recover
[T: N]as[T; N]) - #148688 (Remove unused argument
featuresfromeval_config_entry) - #148711 (Use the current lint note id when parsing
cfg!())
r? @ghost
@rustbot modify labels: rollup
rust-timer added a commit that referenced this pull request
github-actions bot pushed a commit to rust-lang/stdarch that referenced this pull request
github-actions bot pushed a commit to rust-lang/miri that referenced this pull request
makai410 pushed a commit to makai410/rustc_public that referenced this pull request
makai410 pushed a commit to makai410/rust that referenced this pull request
makai410 pushed a commit to makai410/rust that referenced this pull request
makai410 pushed a commit to makai410/rustc_public that referenced this pull request
github-actions bot pushed a commit to model-checking/verify-rust-std that referenced this pull request
Labels
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Relevant to the compiler team, which will review and decide on the PR/issue.