-
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
Rustc panics while compiling gstreamer in RLS #64659
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: