rust/tests/ui/async-await/issue-61793.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

17 lines
446 B
Rust
Raw Normal View History

// This testcase used to ICE in codegen due to inconsistent field reordering
2023-10-19 21:46:28 +00:00
// 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;
};
}