-
Notifications
You must be signed in to change notification settings - Fork 13.4k
ICE: broken MIR in FutureDropPollShim
#141409
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
Labels
-Zvalidate-mir
Unstable option: MIR validation
A-mir-opt-inlining
Area: MIR inlining
C-bug
Category: This is a bug.
F-async_drop
`#![feature(async_drop)]`
I-ICE
Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
Comments
// compile-flags -Zlint-mir
#![feature(async_drop)]
fn main() {
async { async {}.await };
} |
your reduction no longer reproduces the FutureDropPollShim, are you sure its correct? |
// compile-flags -Zmir-enable-passes=+Inline -Zvalidate-mir --edition=2021 -Zlint-mir
#![feature(async_drop)]
use std::{
future::{async_drop_in_place, Future},
pin::pin, task::Context,
};
fn main() {
let mut fut_pin = async { async {}.await };
let drop_fut_unpin = unsafe { async_drop_in_place(&raw mut fut_pin) };
let drop_fut = pin!(drop_fut_unpin);
drop_fut.poll(&mut mk());
}
fn mk() -> Context<'static> {
todo!()
} would be the version that also mentions |
fmease
added a commit
to fmease/rust
that referenced
this issue
Jun 14, 2025
…-live-dead-fix, r=oli-obk Async drop - fix for StorageLive/StorageDead codegen for pinned future Fixes: rust-lang#140429, Fixes: rust-lang#140531, Fixes: rust-lang#141761, Fixes: rust-lang#141409. StorageLive/StorageDead codegen is corrected for pinned async drop future.
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Jun 15, 2025
…-live-dead-fix, r=oli-obk Async drop - fix for StorageLive/StorageDead codegen for pinned future Fixes: rust-lang#140429, Fixes: rust-lang#140531, Fixes: rust-lang#141761, Fixes: rust-lang#141409. StorageLive/StorageDead codegen is corrected for pinned async drop future.
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Jun 15, 2025
…-live-dead-fix, r=oli-obk Async drop - fix for StorageLive/StorageDead codegen for pinned future Fixes: rust-lang#140429, Fixes: rust-lang#140531, Fixes: rust-lang#141761, Fixes: rust-lang#141409. StorageLive/StorageDead codegen is corrected for pinned async drop future.
fmease
added a commit
to fmease/rust
that referenced
this issue
Jun 15, 2025
…-live-dead-fix, r=oli-obk Async drop - fix for StorageLive/StorageDead codegen for pinned future Fixes: rust-lang#140429, Fixes: rust-lang#140531, Fixes: rust-lang#141761, Fixes: rust-lang#141409. StorageLive/StorageDead codegen is corrected for pinned async drop future.
fmease
added a commit
to fmease/rust
that referenced
this issue
Jun 15, 2025
…-live-dead-fix, r=oli-obk Async drop - fix for StorageLive/StorageDead codegen for pinned future Fixes: rust-lang#140429, Fixes: rust-lang#140531, Fixes: rust-lang#141761, Fixes: rust-lang#141409. StorageLive/StorageDead codegen is corrected for pinned async drop future.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
-Zvalidate-mir
Unstable option: MIR validation
A-mir-opt-inlining
Area: MIR inlining
C-bug
Category: This is a bug.
F-async_drop
`#![feature(async_drop)]`
I-ICE
Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
Code
Meta
rustc --version --verbose
:Error output
Backtrace
The text was updated successfully, but these errors were encountered: