@@ -702,53 +702,13 @@ impl PartialOrd for SocketAddrV4 {
702
702
}
703
703
}
704
704
705
- #[ stable( feature = "socketaddr_ordering" , since = "1.45.0" ) ]
706
- impl PartialOrd < SocketAddr > for SocketAddrV4 {
707
- fn partial_cmp ( & self , other : & SocketAddr ) -> Option < Ordering > {
708
- match other {
709
- SocketAddr :: V4 ( v4) => self . partial_cmp ( v4) ,
710
- SocketAddr :: V6 ( _) => Some ( Ordering :: Less ) ,
711
- }
712
- }
713
- }
714
-
715
- #[ stable( feature = "socketaddr_ordering" , since = "1.45.0" ) ]
716
- impl PartialOrd < SocketAddrV4 > for SocketAddr {
717
- fn partial_cmp ( & self , other : & SocketAddrV4 ) -> Option < Ordering > {
718
- match self {
719
- SocketAddr :: V4 ( v4) => v4. partial_cmp ( other) ,
720
- SocketAddr :: V6 ( _) => Some ( Ordering :: Greater ) ,
721
- }
722
- }
723
- }
724
-
725
705
#[ stable( feature = "socketaddr_ordering" , since = "1.45.0" ) ]
726
706
impl PartialOrd for SocketAddrV6 {
727
707
fn partial_cmp ( & self , other : & SocketAddrV6 ) -> Option < Ordering > {
728
708
Some ( self . cmp ( other) )
729
709
}
730
710
}
731
711
732
- #[ stable( feature = "socketaddr_ordering" , since = "1.45.0" ) ]
733
- impl PartialOrd < SocketAddr > for SocketAddrV6 {
734
- fn partial_cmp ( & self , other : & SocketAddr ) -> Option < Ordering > {
735
- match other {
736
- SocketAddr :: V4 ( _) => Some ( Ordering :: Greater ) ,
737
- SocketAddr :: V6 ( v6) => self . partial_cmp ( v6) ,
738
- }
739
- }
740
- }
741
-
742
- #[ stable( feature = "socketaddr_ordering" , since = "1.45.0" ) ]
743
- impl PartialOrd < SocketAddrV6 > for SocketAddr {
744
- fn partial_cmp ( & self , other : & SocketAddrV6 ) -> Option < Ordering > {
745
- match self {
746
- SocketAddr :: V4 ( _) => Some ( Ordering :: Less ) ,
747
- SocketAddr :: V6 ( v6) => v6. partial_cmp ( other) ,
748
- }
749
- }
750
- }
751
-
752
712
#[ stable( feature = "socketaddr_ordering" , since = "1.45.0" ) ]
753
713
impl Ord for SocketAddrV4 {
754
714
fn cmp ( & self , other : & SocketAddrV4 ) -> Ordering {
@@ -1213,11 +1173,13 @@ mod tests {
1213
1173
let v4_1 = "224.120.45.1:23456" . parse :: < SocketAddrV4 > ( ) . unwrap ( ) ;
1214
1174
let v4_2 = "224.210.103.5:12345" . parse :: < SocketAddrV4 > ( ) . unwrap ( ) ;
1215
1175
let v4_3 = "224.210.103.5:23456" . parse :: < SocketAddrV4 > ( ) . unwrap ( ) ;
1216
- let v6_1 = "[2001:db8:f00::1002]:1234 " . parse :: < SocketAddrV6 > ( ) . unwrap ( ) ;
1217
- let v6_2 = "[2001:db8:f00::2001]:1234 " . parse :: < SocketAddrV6 > ( ) . unwrap ( ) ;
1218
- let v6_3 = "[2001:db8:f00::2001]:2345 " . parse :: < SocketAddrV6 > ( ) . unwrap ( ) ;
1176
+ let v6_1 = "[2001:db8:f00::1002]:23456 " . parse :: < SocketAddrV6 > ( ) . unwrap ( ) ;
1177
+ let v6_2 = "[2001:db8:f00::2001]:12345 " . parse :: < SocketAddrV6 > ( ) . unwrap ( ) ;
1178
+ let v6_3 = "[2001:db8:f00::2001]:23456 " . parse :: < SocketAddrV6 > ( ) . unwrap ( ) ;
1219
1179
1220
1180
// equality
1181
+ assert_eq ! ( v4_1, v4_1) ;
1182
+ assert_eq ! ( v6_1, v6_1) ;
1221
1183
assert_eq ! ( v4_1, SocketAddr :: V4 ( v4_1) ) ;
1222
1184
assert_eq ! ( v6_1, SocketAddr :: V6 ( v6_1) ) ;
1223
1185
assert_eq ! ( SocketAddr :: V4 ( v4_1) , SocketAddr :: V4 ( v4_1) ) ;
@@ -1229,22 +1191,20 @@ mod tests {
1229
1191
1230
1192
// compare different addresses
1231
1193
assert ! ( v4_1 < v4_2) ;
1232
- assert ! ( v4_1 < SocketAddr :: V4 ( v4_2) ) ;
1233
- assert ! ( SocketAddr :: V4 ( v4_1) < v4_2) ;
1234
- assert ! ( SocketAddr :: V4 ( v4_1) < SocketAddr :: V4 ( v4_2) ) ;
1235
1194
assert ! ( v6_1 < v6_2) ;
1236
- assert ! ( v6_1 < SocketAddr :: V6 ( v6_2) ) ;
1237
- assert ! ( SocketAddr :: V6 ( v6_1) < v6_2) ;
1238
- assert ! ( SocketAddr :: V6 ( v6_1) < SocketAddr :: V6 ( v6_2) ) ;
1195
+ assert ! ( v4_2 > v4_1) ;
1196
+ assert ! ( v6_2 > v6_1) ;
1239
1197
1240
1198
// compare the same address with different ports
1241
1199
assert ! ( v4_2 < v4_3) ;
1242
- assert ! ( v4_2 < SocketAddr :: V4 ( v4_3) ) ;
1243
- assert ! ( SocketAddr :: V4 ( v4_2) < v4_3) ;
1244
- assert ! ( SocketAddr :: V4 ( v4_2) < SocketAddr :: V4 ( v4_3) ) ;
1245
1200
assert ! ( v6_2 < v6_3) ;
1246
- assert ! ( v6_2 < SocketAddr :: V6 ( v6_3) ) ;
1247
- assert ! ( SocketAddr :: V6 ( v6_2) < v6_3) ;
1248
- assert ! ( SocketAddr :: V6 ( v6_2) < SocketAddr :: V6 ( v6_3) ) ;
1201
+ assert ! ( v4_3 > v4_2) ;
1202
+ assert ! ( v6_3 > v6_2) ;
1203
+
1204
+ // compare different addresses with the same port
1205
+ assert ! ( v4_1 < v4_3) ;
1206
+ assert ! ( v6_1 < v6_3) ;
1207
+ assert ! ( v4_1 > v4_3) ;
1208
+ assert ! ( v6_1 > v6_3) ;
1249
1209
}
1250
1210
}
0 commit comments