rust/tests/ui/async-await/post-cleanup-phase-validation.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

20 lines
481 B
Rust
Raw Normal View History

//@ compile-flags: -Zvalidate-mir
//@ edition: 2024
//@ build-pass
// Regression test that we don't ICE when encountering a transmute in a coroutine's
// drop shim body, which is conceptually in the Runtime phase but wasn't having the
// phase updated b/c the pass manager neither optimizes nor updates the phase for
// drop shim bodies.
struct HasDrop;
impl Drop for HasDrop {
fn drop(&mut self) {}
}
fn main() {
async {
vec![async { HasDrop }.await];
};
}