-
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
"Broken MIR" ICE when using runtime crate #61731
Comments
There's a workaround: let _ = runtime::spawn(...); |
This looks similar to #61579 |
I got the same issue with https://github.com/kpp/futures-async-combinators/ using rustc 1.37.0-nightly (02564de 2019-06-10) |
Additionally, this works: drop(runtime::spawn(...)); Also see #61579 (comment) |
I bisected this issue, and it appeared in the 2019-06-06 nightly. I believe it is due to:
Together, we have both conditions required for the MIR generator pass to think it needs to save our |
…sakis Clean up MIR drop generation * Don't assign twice to the destination of a `while` loop containing a `break` expression * Use `as_temp` to evaluate statement expression * Avoid consecutive `StorageLive`s for the condition of a `while` loop * Unify `return`, `break` and `continue` handling, and move it to `scopes.rs` * Make some of the `scopes.rs` internals private * Don't use `Place`s that are always `Local`s in MIR drop generation Closes #42371 Closes #61579 Closes #61731 Closes #61834 Closes #61910 Closes #62115
Fail-to-compile code:
Error message:
Output of cargo-expand, if useful:
The text was updated successfully, but these errors were encountered: