-
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: TypeParameterDef lookup failure in tc_ty #16643
Labels
I-ICE
Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
Comments
cc me |
(Slightly) simpler example: // euv_ice.rs
#![crate_type="lib"]
pub struct TreeBuilder<H>;
impl<H> Iterator<H> for TreeBuilder<H> {
fn next(&mut self) -> Option<H> { None }
}
impl<H> TreeBuilder<H> {
pub fn process_token(&mut self) {
match self {
_ => for _y in *self {},
}
}
} extern crate euv_ice;
fn main() {
euv_ice::TreeBuilder::<uint>.process_token();
} This appears to be related to AST being inlined cross-crate, and the |
Cool, for now I'll go with the workaround of desugaring the |
kmcallister
added a commit
to servo/html5ever
that referenced
this issue
Aug 25, 2014
bors
added a commit
that referenced
this issue
Aug 26, 2014
We shouldn't be making calls directly to `ty::node_id_to_type` since the typer may be bcx which also has to monomorphize the type. Fixes #16643.
Closed
kmcallister
added a commit
to servo/html5ever
that referenced
this issue
Sep 3, 2014
kmcallister
added a commit
to servo/html5ever
that referenced
this issue
Sep 4, 2014
bors
added a commit
to rust-lang-ci/rust
that referenced
this issue
Feb 25, 2024
internal: Optimize salsa memory usage Reduces memory on self by ~20mb for me, there is a few more mb to save here if we made LRU caching opt-in, as currently every entry in a memoized query will store an `AtomicUsize` for the LRU.
bors
pushed a commit
to rust-lang-ci/rust
that referenced
this issue
Feb 25, 2024
bors
added a commit
to rust-lang-ci/rust
that referenced
this issue
Feb 25, 2024
…643, r=Veykril internal: fix deadlock introduced by rust-lang#16643 This fixes a deadlock introduced by rust-lang#16643 ([backtrace](https://gist.github.com/davidbarsky/00f17598f5496a9c41aff31fec1c42d6)). `maybe_changed_after` calls back into other queries, so the cloning here is unfortunately inevitable. (Zulip conversation: https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frust-analyzer/topic/Fixing.20proc-macro.20dirtying.20with.20unindexed.20projects)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Extracted from an issue I encountered upgrading html5ever to Rust master.
foo.rs
:bar.rs
:It seems like more or less every part of this code is necessary to hit the bug. Here's the result:
(This has my modifications to give a marginally more useful error message.)
The failure happens when looking up a type parameter
DefId
when handling thety_param
case.What I actually get building
html5ever
is a failure of the preceding assertion regarding crate IDs. I didn't find a small reproducer for that assertion failure, but this bug is likely to be related.The text was updated successfully, but these errors were encountered: