We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 50ec10e commit 9c1ad0fCopy full SHA for 9c1ad0f
src/test/ui/union/union-generic-rpass.rs
@@ -3,8 +3,10 @@
3
4
#![feature(untagged_unions)]
5
6
-union MaybeItem<T: Iterator> where T::Item: Copy {
7
- elem: T::Item,
+use std::mem::ManuallyDrop;
+
8
+union MaybeItem<T: Iterator> {
9
+ elem: ManuallyDrop<T::Item>,
10
none: (),
11
}
12
@@ -25,7 +27,7 @@ fn main() {
25
27
let v: Vec<u8> = vec![1, 2, 3];
26
28
let mut i = v.iter();
29
i.next();
- let mi = MaybeItem::<std::slice::Iter<_>> { elem: i.next().unwrap() };
- assert_eq!(*mi.elem, 2);
30
+ let mi = MaybeItem::<std::slice::Iter<_>> { elem: ManuallyDrop::new(i.next().unwrap()) };
31
+ assert_eq!(**mi.elem, 2);
32
33
0 commit comments