-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Rustc panics while compiling gstreamer in RLS #64659
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Comments
Probably unearthed by #64250 |
cc @Xanewok |
Recompiled everything with |
|
I’m sure it’s what @jonas-schievink - it’s an unearthed bug when you pass -Zsave-analysis, hence why it crashes only when using RLS. |
I have the same error when using rust nightly and directly or indirectly referencing the Steps to reproduce:
Downgrading to |
pre-triage: not sure what priority to assign to this. Probably P-high but I want to discuss with team. Leaving I-nominated unprioritized for now. |
triage: P-high. Cc @Xanewok (can you take point on this?) |
Yup, assigning to myself, shouldn’t be hard to fix |
@Xanewok What assistance from others, if any, could help you resolve this issue? |
Minimal reproducer (based on petgraph ICE): // compile-flags: -Zsave-analysis
trait NodeIndexable { type NodeId; }
impl<T> NodeIndexable for T { type NodeId = (); }
fn main() {
struct Data<T: NodeIndexable> {
x: T::NodeId,
}
} |
@Xanewok Is anyone else available you can offload this bug to? |
visiting for triage. Assigning to self to remember to look into this later |
So I have a fix that does not ICE but doesn't seem to actually 'fix' the behaviour. The problem is that we can't nest typeck tables for The fix that I have is not to try to nest when a given NodeId doesn't have associated typeck_tables but instead use an empty table approach (e.g. used in privacy code). This means we don't hit the assertion but IIUC we can't properly resolve a qualified path this way. I think long-term the solution would be to traverse HIR directly rather than doing so using AST (that's another case where we have a mismatch of nested DefIds for which we can't get typeck tables to properly resolve a |
…0-14. (#208) See this Rust issue: rust-lang/rust#64659
…0-14. (#208) See this Rust issue: rust-lang/rust#64659
RLS cannot build my project, which uses gstreamer. Compiling it normally with rustc works fine.
rustc 1.39.0-nightly (eceec57f7 2019-09-18)
x86_64-unknown-linux-gnu
Affected project for reference: https://gitlab.gnome.org/World/Shortwave
I launched RLS manually with
RUST_LOG=rls=debug rls --cli
The text was updated successfully, but these errors were encountered: