@@ -131,7 +131,7 @@ impl Ipv4Addr {
131
131
/// - test addresses used for documentation (192.0.2.0/24, 198.51.100.0/24 and 203.0.113.0/24)
132
132
pub fn is_global ( & self ) -> bool {
133
133
!self . is_private ( ) && !self . is_loopback ( ) && !self . is_link_local ( ) &&
134
- !self . is_broadcast ( ) && !self . is_documentation ( )
134
+ !self . is_broadcast ( ) && !self . is_documentation ( ) && ! self . is_unspecified ( )
135
135
}
136
136
137
137
/// Returns true if this is a multicast address.
@@ -725,22 +725,22 @@ mod tests {
725
725
}
726
726
727
727
// address unspec loopbk privt linloc global multicast brdcast doc
728
- check ( & [ 0 , 0 , 0 , 0 ] , true , false , false , false , true , false , false , false ) ;
729
- check ( & [ 0 , 0 , 0 , 1 ] , false , false , false , false , true , false , false , false ) ;
730
- check ( & [ 1 , 0 , 0 , 0 ] , false , false , false , false , true , false , false , false ) ;
731
- check ( & [ 10 , 9 , 8 , 7 ] , false , false , true , false , false , false , false , false ) ;
732
- check ( & [ 127 , 1 , 2 , 3 ] , false , true , false , false , false , false , false , false ) ;
733
- check ( & [ 172 , 31 , 254 , 253 ] , false , false , true , false , false , false , false , false ) ;
734
- check ( & [ 169 , 254 , 253 , 242 ] , false , false , false , true , false , false , false , false ) ;
735
- check ( & [ 192 , 0 , 2 , 183 ] , false , false , false , false , false , false , false , true ) ;
736
- check ( & [ 192 , 1 , 2 , 183 ] , false , false , false , false , true , false , false , false ) ;
737
- check ( & [ 192 , 168 , 254 , 253 ] , false , false , true , false , false , false , false , false ) ;
738
- check ( & [ 198 , 51 , 100 , 0 ] , false , false , false , false , false , false , false , true ) ;
739
- check ( & [ 203 , 0 , 113 , 0 ] , false , false , false , false , false , false , false , true ) ;
740
- check ( & [ 203 , 2 , 113 , 0 ] , false , false , false , false , true , false , false , false ) ;
741
- check ( & [ 224 , 0 , 0 , 0 ] , false , false , false , false , true , true , false , false ) ;
742
- check ( & [ 239 , 255 , 255 , 255 ] , false , false , false , false , true , true , false , false ) ;
743
- check ( & [ 255 , 255 , 255 , 255 ] , false , false , false , false , false , false , true , false ) ;
728
+ check ( & [ 0 , 0 , 0 , 0 ] , true , false , false , false , false , false , false , false ) ;
729
+ check ( & [ 0 , 0 , 0 , 1 ] , false , false , false , false , true , false , false , false ) ;
730
+ check ( & [ 1 , 0 , 0 , 0 ] , false , false , false , false , true , false , false , false ) ;
731
+ check ( & [ 10 , 9 , 8 , 7 ] , false , false , true , false , false , false , false , false ) ;
732
+ check ( & [ 127 , 1 , 2 , 3 ] , false , true , false , false , false , false , false , false ) ;
733
+ check ( & [ 172 , 31 , 254 , 253 ] , false , false , true , false , false , false , false , false ) ;
734
+ check ( & [ 169 , 254 , 253 , 242 ] , false , false , false , true , false , false , false , false ) ;
735
+ check ( & [ 192 , 0 , 2 , 183 ] , false , false , false , false , false , false , false , true ) ;
736
+ check ( & [ 192 , 1 , 2 , 183 ] , false , false , false , false , true , false , false , false ) ;
737
+ check ( & [ 192 , 168 , 254 , 253 ] , false , false , true , false , false , false , false , false ) ;
738
+ check ( & [ 198 , 51 , 100 , 0 ] , false , false , false , false , false , false , false , true ) ;
739
+ check ( & [ 203 , 0 , 113 , 0 ] , false , false , false , false , false , false , false , true ) ;
740
+ check ( & [ 203 , 2 , 113 , 0 ] , false , false , false , false , true , false , false , false ) ;
741
+ check ( & [ 224 , 0 , 0 , 0 ] , false , false , false , false , true , true , false , false ) ;
742
+ check ( & [ 239 , 255 , 255 , 255 ] , false , false , false , false , true , true , false , false ) ;
743
+ check ( & [ 255 , 255 , 255 , 255 ] , false , false , false , false , false , false , true , false ) ;
744
744
}
745
745
746
746
#[ test]
0 commit comments