]> git.lizzy.rs Git - rust.git/blob - src/test/ui/issues/issue-15523.rs
Require Drop impls to have the same constness on its bounds as the bounds on the...
[rust.git] / src / test / ui / issues / issue-15523.rs
1 // run-pass
2 // Issue 15523: derive(PartialOrd) should use the provided
3 // discriminant values for the derived ordering.
4 //
5 // This is checking the basic functionality.
6
7 #[derive(PartialEq, PartialOrd)]
8 enum E1 {
9     Pos2 = 2,
10     Neg1 = -1,
11     Pos1 = 1,
12 }
13
14 #[derive(PartialEq, PartialOrd)]
15 #[repr(u8)]
16 enum E2 {
17     Pos2 = 2,
18     PosMax = !0 as u8,
19     Pos1 = 1,
20 }
21
22 #[derive(PartialEq, PartialOrd)]
23 #[repr(i8)]
24 enum E3 {
25     Pos2 = 2,
26     Neg1 = -1_i8,
27     Pos1 = 1,
28 }
29
30 fn main() {
31     assert!(E1::Pos2 > E1::Pos1);
32     assert!(E1::Pos1 > E1::Neg1);
33     assert!(E1::Pos2 > E1::Neg1);
34
35     assert!(E2::Pos2 > E2::Pos1);
36     assert!(E2::Pos1 < E2::PosMax);
37     assert!(E2::Pos2 < E2::PosMax);
38
39     assert!(E3::Pos2 > E3::Pos1);
40     assert!(E3::Pos1 > E3::Neg1);
41     assert!(E3::Pos2 > E3::Neg1);
42 }