diff options
Diffstat (limited to '')
-rw-r--r-- | src/test/ui/async-await/issue-62658.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/test/ui/async-await/issue-62658.rs b/src/test/ui/async-await/issue-62658.rs new file mode 100644 index 000000000..d0af01e0c --- /dev/null +++ b/src/test/ui/async-await/issue-62658.rs @@ -0,0 +1,27 @@ +// This test created a generator whose size was not rounded to a multiple of its +// alignment. This caused an assertion error in codegen. + +// build-pass +// edition:2018 + +async fn noop() {} + +async fn foo() { + // This suspend should be the largest variant. + { + let x = [0u8; 17]; + noop().await; + println!("{:?}", x); + } + + // Add one variant that's aligned to 8 bytes. + { + let x = 0u64; + noop().await; + println!("{:?}", x); + } +} + +fn main() { + let _ = foo(); +} |