-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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 and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix coherence error for very large tuples™ #132001
Conversation
// causing a coherence error in diesel, see #131969. We still bail with verflow | ||
// when later returning from the parent AliasRelate goal. | ||
if !self.is_normalizes_to_goal { | ||
let num_non_region_vars = canonical.variables.iter().filter(|c| !c.is_region()).count(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let num_non_region_vars = canonical.variables.iter().filter(|c| !c.is_region()).count(); | |
let num_non_region_vars = canonical.variables.iter().filter(|c| !c.is_region() && !c.is_existential()).count(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
army after this
@bors r=compiler-errors rollup |
// | ||
// We don't do so for `NormalizesTo` goals as we erased the expected term and | ||
// bailing with overflow here would prevent us from detecting a type-mismatch, | ||
// causing a coherence error in diesel, see #131969. We still bail with verflow |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
// causing a coherence error in diesel, see #131969. We still bail with verflow | |
// causing a coherence error in diesel, see #131969. We still bail with overflow |
(i won't r-, you can if you want to or not)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
verflow is actually a type-system specific concept :clueless:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah i see, it describes the way crates of different versions flow through the type system
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed as part of #132026 :3
…iaskrgr Rollup of 7 pull requests Successful merges: - rust-lang#130350 (stabilize Strict Provenance and Exposed Provenance APIs) - rust-lang#131737 (linkchecker: add a reminder on broken links to add new/renamed pages to `SUMMARY.md` for mdBooks) - rust-lang#131991 (test: Add test for trait in FQS cast, issue rust-lang#98565) - rust-lang#131997 (Make `rustc_abi` compile on stable again) - rust-lang#131999 (Improve test coverage for `unit_bindings` lint) - rust-lang#132001 (fix coherence error for very large tuples™) - rust-lang#132003 (update ABI compatibility docs for new option-like rules) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#132001 - lcnr:stabilize-coherence-again, r=compiler-errors fix coherence error for very large tuples™ see https://rust-lang.zulipchat.com/#narrow/channel/364551-t-types.2Ftrait-system-refactor/topic/diesel.20error for an in-depth explanation of this issue. We once again specialize `NormalizesTo` goals to avoid the impact of erasing their expected term. fixes rust-lang#131969 r? `@compiler-errors`
see https://rust-lang.zulipchat.com/#narrow/channel/364551-t-types.2Ftrait-system-refactor/topic/diesel.20error for an in-depth explanation of this issue. We once again specialize
NormalizesTo
goals to avoid the impact of erasing their expected term.fixes #131969
r? @compiler-errors