summaryrefslogtreecommitdiffstats
path: root/tests/ui/async-await/issue-61793.rs
blob: bb861cf60b1147380476225489d70eb556d5c0ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// This testcase used to ICE in codegen due to inconsistent field reordering
// in the coroutine state, claiming a ZST field was after a non-ZST field,
// while those two fields were at the same offset (which is impossible).
// That is, memory ordering of `(X, ())`, but offsets of `((), X)`.

// build-pass
// edition:2018

async fn foo<F>(_: &(), _: F) {}

fn main() {
    foo(&(), || {});
    async {
        foo(&(), || {}).await;
    };
}