diff options
Diffstat (limited to '')
-rw-r--r-- | src/test/ui/async-await/issue-61793.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/test/ui/async-await/issue-61793.rs b/src/test/ui/async-await/issue-61793.rs new file mode 100644 index 000000000..9180e1d81 --- /dev/null +++ b/src/test/ui/async-await/issue-61793.rs @@ -0,0 +1,16 @@ +// This testcase used to ICE in codegen due to inconsistent field reordering +// in the generator 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; + }; +} |