summaryrefslogtreecommitdiffstats
path: root/tests/ui/const-generics/adt_const_params/const_param_ty_impl_union.rs
blob: c04e96c569b4133bea673f2fc8d9411b42b4fb01 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#![allow(incomplete_features)]
#![feature(adt_const_params, structural_match)]

union Union {
    a: u8,
}

impl PartialEq for Union {
    fn eq(&self, other: &Union) -> bool {
        true
    }
}
impl Eq for Union {}
impl std::marker::StructuralEq for Union {}

impl std::marker::ConstParamTy for Union {}
//~^ ERROR the type `Union` does not `#[derive(PartialEq)]`

#[derive(std::marker::ConstParamTy)]
//~^ ERROR this trait cannot be derived for unions
union UnionDerive {
    a: u8,
}

impl PartialEq for UnionDerive {
    fn eq(&self, other: &UnionDerive) -> bool {
        true
    }
}
impl Eq for UnionDerive {}
impl std::marker::StructuralEq for UnionDerive {}


fn main() {}