diff options
| author | David Laban <alsuren@gmail.com> | 2019-08-04 16:08:31 +0100 |
|---|---|---|
| committer | David Laban <alsuren@gmail.com> | 2019-08-04 16:10:07 +0100 |
| commit | 0a1bdd4a53c239ac412bc7031b8b6056fe80674a (patch) | |
| tree | 8eaa3d64b250ea12536d25f67c06c3b5d3f4c9b7 | |
| parent | a17951c4f80eb5208030f91fdb4ae93919fa6b12 (diff) | |
| download | rust-0a1bdd4a53c239ac412bc7031b8b6056fe80674a.tar.gz rust-0a1bdd4a53c239ac412bc7031b8b6056fe80674a.zip | |
test .await while holding variables of different sizes
| -rw-r--r-- | src/test/ui/async-await/async-fn-size-moved-locals.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/test/ui/async-await/async-fn-size-moved-locals.rs b/src/test/ui/async-await/async-fn-size-moved-locals.rs index d0d4eb032fc..30b59d037d5 100644 --- a/src/test/ui/async-await/async-fn-size-moved-locals.rs +++ b/src/test/ui/async-await/async-fn-size-moved-locals.rs @@ -93,9 +93,27 @@ async fn joined_with_noop() { joiner.await } +async fn mixed_sizes() { + let a = BigFut::new(); + let b = BigFut::new(); + let c = BigFut::new(); + let d = BigFut::new(); + let e = BigFut::new(); + let joiner = Joiner { + a: Some(a), + b: Some(b), + c: Some(c), + }; + + d.await; + e.await; + joiner.await; +} + fn main() { assert_eq!(1028, std::mem::size_of_val(&single())); assert_eq!(1032, std::mem::size_of_val(&single_with_noop())); assert_eq!(3084, std::mem::size_of_val(&joined())); assert_eq!(3084, std::mem::size_of_val(&joined_with_noop())); + assert_eq!(7188, std::mem::size_of_val(&mixed_sizes())); } |
