]> git.lizzy.rs Git - rust.git/blob - src/test/ui/union/union-derive-rpass.rs
Merge commit '3e7c6dec244539970b593824334876f8b6ed0b18' into clippyup
[rust.git] / src / test / ui / union / union-derive-rpass.rs
1 // run-pass
2 #![allow(dead_code)]
3 #![allow(unused_variables)]
4
5 // Some traits can be derived for unions.
6
7 #[derive(
8     Copy,
9     Clone,
10     Eq,
11 )]
12 union U {
13     a: u8,
14     b: u16,
15 }
16
17 impl PartialEq for U { fn eq(&self, rhs: &Self) -> bool { true } }
18
19 #[derive(
20     Clone,
21     Copy,
22     Eq
23 )]
24 union W<T: Copy> {
25     a: T,
26 }
27
28 impl<T: Copy> PartialEq for W<T> { fn eq(&self, rhs: &Self) -> bool { true } }
29
30 fn main() {
31     let u = U { b: 0 };
32     let u1 = u;
33     let u2 = u.clone();
34     assert!(u1 == u2);
35
36     let w = W { a: 0 };
37     let w1 = w.clone();
38     assert!(w == w1);
39 }