mirror of
https://github.com/rust-lang/rust
synced 2024-11-05 20:45:15 +00:00
16 lines
446 B
Rust
16 lines
446 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;
|
|
};
|
|
}
|