about summary refs log tree commit diff
path: root/tests/ui/async-await/post-cleanup-phase-validation.rs
blob: a347e35c26db30d85410b8298f50ae8b8888e785 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//@ 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];
    };
}