-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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: no type-dependent def or overloaded call #68025
Comments
I'm not sure how to reproduce the ICE given the two snippets at the top. Can you clarify the minimal reproduction: how do I reproduce it in the playground? |
fn main() {
fn foo<F: Fn()>(f: impl Fn(Box<F>, ()), x: (Box<F>, ())) {}
foo(|f, _| (*f)(), (Box::new(|| println!("lol")), ()));
} |
Simplified: fn foo<F, G>(_: G, _: Box<F>)
where
F: Fn(),
G: Fn(Box<F>),
{
}
fn main() {
foo(|f| (*f)(), Box::new(|| {}));
} |
The failure occurs here: rust/src/librustc_typeck/expr_use_visitor.rs Lines 332 to 354 in caa231d
I guess we can add |
triage: P-high. Removing I-nominated label. |
Problematic code:
Minimal reproduction:
This ICE happens on both nightly and stable.
Meta
rustc 1.42.0-nightly (ef92009 2020-01-06)
binary: rustc
commit-hash: ef92009
commit-date: 2020-01-06
host: x86_64-unknown-linux-gnu
release: 1.42.0-nightly
LLVM version: 9.0
Backtrace:
The text was updated successfully, but these errors were encountered: