rustc: correctly transform memory_index mappings for generators.
This commit is contained in:
parent
dbec74ffa7
commit
fad27df3e7
3 changed files with 107 additions and 38 deletions
19
src/test/ui/async-await/issue-61793.rs
Normal file
19
src/test/ui/async-await/issue-61793.rs
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
// 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)`.
|
||||
|
||||
// compile-pass
|
||||
// edition:2018
|
||||
|
||||
#![feature(async_await)]
|
||||
#![allow(unused)]
|
||||
|
||||
async fn foo<F>(_: &(), _: F) {}
|
||||
|
||||
fn main() {
|
||||
foo(&(), || {});
|
||||
async {
|
||||
foo(&(), || {}).await;
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue