diff options
| author | Yuki Okushi <huyuumi.dev@gmail.com> | 2019-07-16 11:09:29 +0900 |
|---|---|---|
| committer | Yuki Okushi <huyuumi.dev@gmail.com> | 2019-07-16 11:09:29 +0900 |
| commit | 156173f83bdd0eb80546053d42304645e8cfbb6c (patch) | |
| tree | 6b8727f5c8aa40dfbbf8c76cb138a3e81a38b571 | |
| parent | 4b65a86ebace8600c8e269e8bfe3365cdc460e68 (diff) | |
| download | rust-156173f83bdd0eb80546053d42304645e8cfbb6c.tar.gz rust-156173f83bdd0eb80546053d42304645e8cfbb6c.zip | |
Add tests for overlapping explicitly dropped locals in generators
| -rw-r--r-- | src/test/run-pass/generator/size-moved-locals.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/test/run-pass/generator/size-moved-locals.rs b/src/test/run-pass/generator/size-moved-locals.rs index 37e2e0cfdcc..5b056059b5d 100644 --- a/src/test/run-pass/generator/size-moved-locals.rs +++ b/src/test/run-pass/generator/size-moved-locals.rs @@ -55,8 +55,20 @@ fn overlap_move_points() -> impl Generator<Yield = (), Return = ()> { } } +fn overlap_x_and_y() -> impl Generator<Yield = (), Return = ()>{ + static || { + let x = [0u8; 1024]; + yield; + drop(x); + let y = [0u8;1024]; + yield; + drop(y); + } +} + fn main() { assert_eq!(1028, std::mem::size_of_val(&move_before_yield())); assert_eq!(1032, std::mem::size_of_val(&move_before_yield_with_noop())); assert_eq!(2056, std::mem::size_of_val(&overlap_move_points())); + assert_eq!(2052, std::mem::size_of_val(&overlap_x_and_y())); } |
