-
-
Notifications
You must be signed in to change notification settings - Fork 14.6k
Closed
Labels
C-bugCategory: This is a bug.Category: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
Description
Encountered doing ill-advised type manipulations in the playground. By (mis)using some combination of universal function call syntax, the Fn trait, and other language features, I got an internal compiler error. I then simplified it to the point where it wouldn't make sense even if it didn't hit the error.
Code to reproduce the error:
trait CallSingle<A, B> {
fn call(&self, a: A) -> B where Self: Fn(A) -> B;
}
impl<A, B, F: Fn(A) -> B> CallSingle<A, B> for F {
fn call(&self, a: A) -> B {
<Self as Fn(A) -> B>::call
}
}
I'm not sure there should be any error it emits beyond what it already does, but this does panic the compiler: error: internal compiler error: /checkout/src/librustc_typeck/check/mod.rs:4419: impossible case reached
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
C-bugCategory: This is a bug.Category: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️