diff options
| author | Oliver Scherer <github35764891676564198441@oli-obk.de> | 2019-09-20 12:22:06 +0200 |
|---|---|---|
| committer | Oliver Scherer <github35764891676564198441@oli-obk.de> | 2019-10-11 10:43:54 +0200 |
| commit | 9c1ad0ff2fe64c02a91c1daf0ce6670b1eaf75f6 (patch) | |
| tree | 19b676a8fc0bee0a0f3787283bf81f628e23b754 | |
| parent | 50ec10e6059f923204c573b4004612e99aa6cdad (diff) | |
| download | rust-9c1ad0ff2fe64c02a91c1daf0ce6670b1eaf75f6.tar.gz rust-9c1ad0ff2fe64c02a91c1daf0ce6670b1eaf75f6.zip | |
Preserve originally intended test semantics
| -rw-r--r-- | src/test/ui/union/union-generic-rpass.rs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/test/ui/union/union-generic-rpass.rs b/src/test/ui/union/union-generic-rpass.rs index 5ca3bc0f722..eb169c516d2 100644 --- a/src/test/ui/union/union-generic-rpass.rs +++ b/src/test/ui/union/union-generic-rpass.rs @@ -3,8 +3,10 @@ #![feature(untagged_unions)] -union MaybeItem<T: Iterator> where T::Item: Copy { - elem: T::Item, +use std::mem::ManuallyDrop; + +union MaybeItem<T: Iterator> { + elem: ManuallyDrop<T::Item>, none: (), } @@ -25,7 +27,7 @@ fn main() { let v: Vec<u8> = vec![1, 2, 3]; let mut i = v.iter(); i.next(); - let mi = MaybeItem::<std::slice::Iter<_>> { elem: i.next().unwrap() }; - assert_eq!(*mi.elem, 2); + let mi = MaybeItem::<std::slice::Iter<_>> { elem: ManuallyDrop::new(i.next().unwrap()) }; + assert_eq!(**mi.elem, 2); } } |
