-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
ICE: specialization graph: unexpected infer in QueryInput
#123155
Labels
C-bug
Category: This is a bug.
F-with_negative_coherence
`#![feature(with_negative_coherence)]`
I-ICE
Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
S-has-mcve
Status: A Minimal Complete and Verifiable Example has been found for this issue
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
Comments
matthiaskrgr
added
I-ICE
Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
C-bug
Category: This is a bug.
labels
Mar 28, 2024
rustbot
added
the
needs-triage
This issue may need triage. Remove it if it has been sufficiently triaged.
label
Mar 28, 2024
matthiaskrgr
changed the title
ICE: specialization:
ICE: specialization graph: Mar 28, 2024
unexpected infer in QueryInput
unexpected infer in QueryInput
bisects to #120498 cc @compiler-errors |
This should get minimized more |
compiler-errors
added
the
E-needs-mcve
Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example
label
Mar 28, 2024
hmm, bit smaller: #![feature(with_negative_coherence)]
pub trait A<const K: &'static str> {}
pub struct B<Tail> {}
impl<Tail> C<K> for B<Tail> where Tail: A<K> {}
pub trait C {}
impl<Tail, const KEY_ID: &'static str> C<K> for B<Tail> where Tail: A<false, K> {} |
There's still an overwhelming number of compiler errors that can be suppressed very easily, and that really occlude the underlying issue (type mismatch in a const generic parameter). That's what I mean by minimization: #![feature(with_negative_coherence)]
pub trait A<const K: &'static str> {}
pub trait C {}
impl<T> C for T where T: A<""> {}
impl<T> C for T where T: A<false> {} |
compiler-errors
removed
the
E-needs-mcve
Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example
label
Mar 28, 2024
jieyouxu
added
F-with_negative_coherence
`#![feature(with_negative_coherence)]`
S-has-mcve
Status: A Minimal Complete and Verifiable Example has been found for this issue
and removed
needs-triage
This issue may need triage. Remove it if it has been sufficiently triaged.
labels
Mar 28, 2024
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Mar 30, 2024
Replace regions in const canonical vars' types with `'static` in next-solver canonicalizer We shouldn't ever have non-static regions in consts on stable (or really any regions at all, lol). The test I committed is less minimal than, e.g., rust-lang#123155 -- however, I believe that it actually portrays the underlying issue here a bit better than that one. In the linked issue, we end up emitting a normalizes-to predicate for a const placeholder because we don't actually unify `false` and `""`. In the test I committed, we emit a normalizes-to predicate as a part of actually solving a negative coherence goal. Fixes rust-lang#123155 Fixes rust-lang#118783 r? lcnr
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this issue
Mar 30, 2024
Rollup merge of rust-lang#123170 - compiler-errors:const-statics, r=lcnr Replace regions in const canonical vars' types with `'static` in next-solver canonicalizer We shouldn't ever have non-static regions in consts on stable (or really any regions at all, lol). The test I committed is less minimal than, e.g., rust-lang#123155 -- however, I believe that it actually portrays the underlying issue here a bit better than that one. In the linked issue, we end up emitting a normalizes-to predicate for a const placeholder because we don't actually unify `false` and `""`. In the test I committed, we emit a normalizes-to predicate as a part of actually solving a negative coherence goal. Fixes rust-lang#123155 Fixes rust-lang#118783 r? lcnr
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
C-bug
Category: This is a bug.
F-with_negative_coherence
`#![feature(with_negative_coherence)]`
I-ICE
Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
S-has-mcve
Status: A Minimal Complete and Verifiable Example has been found for this issue
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
auto-reduced (treereduce-rust):
original:
Version information
Command:
/home/matthias/.rustup/toolchains/master/bin/rustc
Program output
The text was updated successfully, but these errors were encountered: