2019-06-22 20:37:23 -05:00
|
|
|
// This testcase used to ICE in codegen due to inconsistent field reordering
|
2023-10-19 16:46:28 -05:00
|
|
|
// in the coroutine state, claiming a ZST field was after a non-ZST field,
|
2019-06-22 20:37:23 -05:00
|
|
|
// while those two fields were at the same offset (which is impossible).
|
|
|
|
// That is, memory ordering of `(X, ())`, but offsets of `((), X)`.
|
|
|
|
|
2019-10-28 19:00:00 -05:00
|
|
|
//@ build-pass
|
2019-06-22 20:37:23 -05:00
|
|
|
//@ edition:2018
|
|
|
|
|
|
|
|
async fn foo<F>(_: &(), _: F) {}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
foo(&(), || {});
|
|
|
|
async {
|
|
|
|
foo(&(), || {}).await;
|
|
|
|
};
|
|
|
|
}
|