]> git.proxmox.com Git - rustc.git/blame - src/test/ui/union/union-derive-rpass.rs
New upstream version 1.49.0+dfsg1
[rustc.git] / src / test / ui / union / union-derive-rpass.rs
CommitLineData
b7449926 1// run-pass
0bf4aa26
XL
2#![allow(dead_code)]
3#![allow(unused_variables)]
b7449926 4
9e0c209e
SL
5// Some traits can be derived for unions.
6
9e0c209e
SL
7#[derive(
8 Copy,
9 Clone,
10 Eq,
11)]
12union U {
13 a: u8,
14 b: u16,
15}
16
17impl PartialEq for U { fn eq(&self, rhs: &Self) -> bool { true } }
18
19#[derive(
20 Clone,
21 Copy,
22 Eq
23)]
e74abb32 24union W<T: Copy> {
9e0c209e
SL
25 a: T,
26}
27
e74abb32 28impl<T: Copy> PartialEq for W<T> { fn eq(&self, rhs: &Self) -> bool { true } }
9e0c209e
SL
29
30fn 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}