@@ -702,53 +702,13 @@ impl PartialOrd for SocketAddrV4 {
702702 }
703703}
704704
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-
725705#[ stable( feature = "socketaddr_ordering" , since = "1.45.0" ) ]
726706impl PartialOrd for SocketAddrV6 {
727707 fn partial_cmp ( & self , other : & SocketAddrV6 ) -> Option < Ordering > {
728708 Some ( self . cmp ( other) )
729709 }
730710}
731711
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-
752712#[ stable( feature = "socketaddr_ordering" , since = "1.45.0" ) ]
753713impl Ord for SocketAddrV4 {
754714 fn cmp ( & self , other : & SocketAddrV4 ) -> Ordering {
@@ -1213,11 +1173,13 @@ mod tests {
12131173 let v4_1 = "224.120.45.1:23456" . parse :: < SocketAddrV4 > ( ) . unwrap ( ) ;
12141174 let v4_2 = "224.210.103.5:12345" . parse :: < SocketAddrV4 > ( ) . unwrap ( ) ;
12151175 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 ( ) ;
12191179
12201180 // equality
1181+ assert_eq ! ( v4_1, v4_1) ;
1182+ assert_eq ! ( v6_1, v6_1) ;
12211183 assert_eq ! ( v4_1, SocketAddr :: V4 ( v4_1) ) ;
12221184 assert_eq ! ( v6_1, SocketAddr :: V6 ( v6_1) ) ;
12231185 assert_eq ! ( SocketAddr :: V4 ( v4_1) , SocketAddr :: V4 ( v4_1) ) ;
@@ -1229,22 +1191,20 @@ mod tests {
12291191
12301192 // compare different addresses
12311193 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) ) ;
12351194 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) ;
12391197
12401198 // compare the same address with different ports
12411199 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) ) ;
12451200 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) ;
12491209 }
12501210}
0 commit comments