-
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
assertion failed: !value.has_escaping_bound_vars()
with trait A where for<'a> Self: 'a{}
#88586
Comments
Assigning priority as discussed in the Zulip thread of the Prioritization Working Group. @rustbot label -I-prioritize +P-medium |
No longer ICEs since #88061 |
Wait really? Neat. |
This triggers another ICE with The relevant part is: rust/compiler/rustc_middle/src/ty/sty.rs Lines 979 to 982 in 4626184
And rust/compiler/rustc_typeck/src/collect.rs Lines 2438 to 2443 in 4626184
So if I understand correctly, since it's empty, it won't pass the assertion, and validating it doesn't make sense here currently. @jackh726 could we just remove the validation or should we have something in |
I very briefly looked at this a few days ago. We most certainly should be validating here; this is precisely the case that we want to catch. The problem really comes down to rust/compiler/rustc_typeck/src/astconv/mod.rs Lines 999 to 1004 in 4626184
I think the correct fix here is to just make |
Fixes the ICE in rust-lang#88586.
Code
Meta
Stable (1.54.0) works correctly(?) (E0311
the parameter type `Self` may not live long enough
with nonsensical helpconsider adding an explicit lifetime bound `Self: 'a`
).rustc --version --verbose
:Error output
Backtrace
The text was updated successfully, but these errors were encountered: