diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-07-25 23:20:58 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-07-25 23:20:58 +0200 |
| commit | 6f0e57fb1dc3b30126e6ec6c9dd2ad0309da2c0c (patch) | |
| tree | 72eba5c8c1e8e6a08c889db6af08b026076272dd | |
| parent | 008d9d0feaec231fa2fe16468d2d44714e765700 (diff) | |
| parent | 404281125e565a4889910657504112789c75a11e (diff) | |
| download | rust-6f0e57fb1dc3b30126e6ec6c9dd2ad0309da2c0c.tar.gz rust-6f0e57fb1dc3b30126e6ec6c9dd2ad0309da2c0c.zip | |
Rollup merge of #62707 - JohnTitor:add-test-for-61922, r=tmandry
Add tests for overlapping explicitly dropped locals in generators Closes #62686 r? @tmandry
| -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 574442e2574..dbcdfc61ef9 100644 --- a/src/test/run-pass/generator/size-moved-locals.rs +++ b/src/test/run-pass/generator/size-moved-locals.rs @@ -56,8 +56,20 @@ fn overlap_move_points() -> impl Generator<Yield = (), Return = ()> { } } +fn overlap_x_and_y() -> impl Generator<Yield = (), Return = ()>{ + static || { + let x = Foo([0; FOO_SIZE]); + yield; + drop(x); + let y = Foo([0; FOO_SIZE]); + 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!(1032, std::mem::size_of_val(&overlap_x_and_y())); } |
