Skip to content

Commit 0722991

Browse files
committed
add test for derive_ord_xor_partial_ord based on test for derive_hash_xor_partial_eq
1 parent fc20ee6 commit 0722991

File tree

2 files changed

+66
-2
lines changed

2 files changed

+66
-2
lines changed
Lines changed: 65 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,68 @@
11
#![warn(clippy::derive_ord_xor_partial_ord)]
22

3-
fn main() {
4-
// test code goes here
3+
use std::cmp::Ordering;
4+
5+
#[derive(PartialOrd, Ord, PartialEq, Eq)]
6+
struct DeriveBoth;
7+
8+
impl PartialEq<u64> for DeriveBoth {
9+
fn eq(&self, _: &u64) -> bool {
10+
true
11+
}
12+
}
13+
14+
impl PartialOrd<u64> for DeriveBoth {
15+
fn partial_cmp(&self, _: &u64) -> Option<Ordering> {
16+
Some(Ordering::Equal)
17+
}
518
}
19+
20+
#[derive(Ord, PartialEq, Eq)]
21+
struct DeriveOrd;
22+
23+
impl PartialOrd for DeriveOrd {
24+
fn partial_cmp(&self, other: &Self) -> Option<Ordering> {
25+
Some(other.cmp(self))
26+
}
27+
}
28+
29+
#[derive(Ord, PartialEq, Eq)]
30+
struct DeriveOrdWithExplicitTypeVariable;
31+
32+
impl PartialOrd<DeriveOrdWithExplicitTypeVariable> for DeriveOrdWithExplicitTypeVariable {
33+
fn partial_cmp(&self, other: &Self) -> Option<Ordering> {
34+
Some(other.cmp(self))
35+
}
36+
}
37+
38+
#[derive(PartialOrd, PartialEq, Eq)]
39+
struct DerivePartialOrd;
40+
41+
impl std::cmp::Ord for DerivePartialOrd {
42+
fn cmp(&self, other: &Self) -> Ordering {
43+
Ordering::Less
44+
}
45+
}
46+
47+
#[derive(PartialOrd, PartialEq, Eq)]
48+
struct ImplUserOrd;
49+
50+
trait Ord {}
51+
52+
// We don't want to lint on user-defined traits called `Ord`
53+
impl Ord for ImplUserOrd {}
54+
55+
mod use_ord {
56+
use std::cmp::{Ord, Ordering};
57+
58+
#[derive(PartialOrd, PartialEq, Eq)]
59+
struct DerivePartialOrdInUseOrd;
60+
61+
impl Ord for DerivePartialOrdInUseOrd {
62+
fn cmp(&self, other: &Self) -> Ordering {
63+
Ordering::Less
64+
}
65+
}
66+
}
67+
68+
fn main() {}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
TODO

0 commit comments

Comments
 (0)