17 lines
444 B
Rust
17 lines
444 B
Rust
// 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;
|
|
};
|
|
}
|