1- #![ unstable(  
2-     feature = "ip" ,  
3-     reason = "extra functionality has not been \   
4-                                        scrutinized to the level that it should \ 
5-                                        be to be stable", 
6-     issue = "27709"  
7- ) ] 
8- 
91// Tests for this module 
102#[ cfg( all( test,  not( target_os = "emscripten" ) ) ) ]  
113mod  tests; 
@@ -126,6 +118,7 @@ pub struct Ipv6Addr {
126118
127119#[ allow( missing_docs) ]  
128120#[ derive( Copy ,  PartialEq ,  Eq ,  Clone ,  Hash ,  Debug ) ]  
121+ #[ unstable( feature = "ip" ,  issue = "27709" ) ]  
129122pub  enum  Ipv6MulticastScope  { 
130123    InterfaceLocal , 
131124    LinkLocal , 
@@ -199,6 +192,7 @@ impl IpAddr {
199192     /// assert_eq!(IpAddr::V6(Ipv6Addr::new(0, 0, 0x1c9, 0, 0, 0xafc8, 0, 0x1)).is_global(), true); 
200193     /// ``` 
201194     #[ rustc_const_unstable( feature = "const_ip" ,  issue = "76205" ) ]  
195+     #[ unstable( feature = "ip" ,  issue = "27709" ) ]  
202196    #[ inline]  
203197    pub  const  fn  is_global ( & self )  -> bool  { 
204198        match  self  { 
@@ -249,6 +243,7 @@ impl IpAddr {
249243     /// ); 
250244     /// ``` 
251245     #[ rustc_const_unstable( feature = "const_ip" ,  issue = "76205" ) ]  
246+     #[ unstable( feature = "ip" ,  issue = "27709" ) ]  
252247    #[ inline]  
253248    pub  const  fn  is_documentation ( & self )  -> bool  { 
254249        match  self  { 
@@ -549,6 +544,7 @@ impl Ipv4Addr {
549544     /// assert_eq!(Ipv4Addr::new(80, 9, 12, 3).is_global(), true); 
550545     /// ``` 
551546     #[ rustc_const_unstable( feature = "const_ipv4" ,  issue = "76205" ) ]  
547+     #[ unstable( feature = "ip" ,  issue = "27709" ) ]  
552548    #[ inline]  
553549    pub  const  fn  is_global ( & self )  -> bool  { 
554550        // check if this address is 192.0.0.9 or 192.0.0.10. These addresses are the only two 
@@ -587,6 +583,7 @@ impl Ipv4Addr {
587583     /// assert_eq!(Ipv4Addr::new(100, 128, 0, 0).is_shared(), false); 
588584     /// ``` 
589585     #[ rustc_const_unstable( feature = "const_ipv4" ,  issue = "76205" ) ]  
586+     #[ unstable( feature = "ip" ,  issue = "27709" ) ]  
590587    #[ inline]  
591588    pub  const  fn  is_shared ( & self )  -> bool  { 
592589        self . octets ( ) [ 0 ]  == 100  && ( self . octets ( ) [ 1 ]  &  0b1100_0000  == 0b0100_0000 ) 
@@ -620,6 +617,7 @@ impl Ipv4Addr {
620617     /// assert_eq!(Ipv4Addr::new(191, 255, 255, 255).is_ietf_protocol_assignment(), false); 
621618     /// ``` 
622619     #[ rustc_const_unstable( feature = "const_ipv4" ,  issue = "76205" ) ]  
620+     #[ unstable( feature = "ip" ,  issue = "27709" ) ]  
623621    #[ inline]  
624622    pub  const  fn  is_ietf_protocol_assignment ( & self )  -> bool  { 
625623        self . octets ( ) [ 0 ]  == 192  && self . octets ( ) [ 1 ]  == 0  && self . octets ( ) [ 2 ]  == 0 
@@ -644,6 +642,7 @@ impl Ipv4Addr {
644642     /// assert_eq!(Ipv4Addr::new(198, 20, 0, 0).is_benchmarking(), false); 
645643     /// ``` 
646644     #[ rustc_const_unstable( feature = "const_ipv4" ,  issue = "76205" ) ]  
645+     #[ unstable( feature = "ip" ,  issue = "27709" ) ]  
647646    #[ inline]  
648647    pub  const  fn  is_benchmarking ( & self )  -> bool  { 
649648        self . octets ( ) [ 0 ]  == 198  && ( self . octets ( ) [ 1 ]  &  0xfe )  == 18 
@@ -677,6 +676,7 @@ impl Ipv4Addr {
677676     /// assert_eq!(Ipv4Addr::new(255, 255, 255, 255).is_reserved(), false); 
678677     /// ``` 
679678     #[ rustc_const_unstable( feature = "const_ipv4" ,  issue = "76205" ) ]  
679+     #[ unstable( feature = "ip" ,  issue = "27709" ) ]  
680680    #[ inline]  
681681    pub  const  fn  is_reserved ( & self )  -> bool  { 
682682        self . octets ( ) [ 0 ]  &  240  == 240  && !self . is_broadcast ( ) 
@@ -1234,6 +1234,7 @@ impl Ipv6Addr {
12341234     /// assert_eq!(Ipv6Addr::new(0, 0, 0x1c9, 0, 0, 0xafc8, 0, 0x1).is_global(), true); 
12351235     /// ``` 
12361236     #[ rustc_const_unstable( feature = "const_ipv6" ,  issue = "76205" ) ]  
1237+     #[ unstable( feature = "ip" ,  issue = "27709" ) ]  
12371238    #[ inline]  
12381239    pub  const  fn  is_global ( & self )  -> bool  { 
12391240        match  self . multicast_scope ( )  { 
@@ -1260,6 +1261,7 @@ impl Ipv6Addr {
12601261     /// assert_eq!(Ipv6Addr::new(0xfc02, 0, 0, 0, 0, 0, 0, 0).is_unique_local(), true); 
12611262     /// ``` 
12621263     #[ rustc_const_unstable( feature = "const_ipv6" ,  issue = "76205" ) ]  
1264+     #[ unstable( feature = "ip" ,  issue = "27709" ) ]  
12631265    #[ inline]  
12641266    pub  const  fn  is_unique_local ( & self )  -> bool  { 
12651267        ( self . segments ( ) [ 0 ]  &  0xfe00 )  == 0xfc00 
@@ -1315,6 +1317,7 @@ impl Ipv6Addr {
13151317     /// [IETF RFC 4291 section 2.5.6]: https://tools.ietf.org/html/rfc4291#section-2.5.6 
13161318     /// [RFC 4291 errata 4406]: https://www.rfc-editor.org/errata/eid4406 
13171319     #[ rustc_const_unstable( feature = "const_ipv6" ,  issue = "76205" ) ]  
1320+     #[ unstable( feature = "ip" ,  issue = "27709" ) ]  
13181321    #[ inline]  
13191322    pub  const  fn  is_unicast_link_local_strict ( & self )  -> bool  { 
13201323        matches ! ( self . segments( ) ,  [ 0xfe80 ,  0 ,  0 ,  0 ,  ..] ) 
@@ -1369,6 +1372,7 @@ impl Ipv6Addr {
13691372     /// [IETF RFC 4291 section 2.4]: https://tools.ietf.org/html/rfc4291#section-2.4 
13701373     /// [RFC 4291 errata 4406]: https://www.rfc-editor.org/errata/eid4406 
13711374     #[ rustc_const_unstable( feature = "const_ipv6" ,  issue = "76205" ) ]  
1375+     #[ unstable( feature = "ip" ,  issue = "27709" ) ]  
13721376    #[ inline]  
13731377    pub  const  fn  is_unicast_link_local ( & self )  -> bool  { 
13741378        ( self . segments ( ) [ 0 ]  &  0xffc0 )  == 0xfe80 
@@ -1409,6 +1413,7 @@ impl Ipv6Addr {
14091413     /// 
14101414     /// [RFC 3879]: https://tools.ietf.org/html/rfc3879 
14111415     #[ rustc_const_unstable( feature = "const_ipv6" ,  issue = "76205" ) ]  
1416+     #[ unstable( feature = "ip" ,  issue = "27709" ) ]  
14121417    #[ inline]  
14131418    pub  const  fn  is_unicast_site_local ( & self )  -> bool  { 
14141419        ( self . segments ( ) [ 0 ]  &  0xffc0 )  == 0xfec0 
@@ -1432,6 +1437,7 @@ impl Ipv6Addr {
14321437     /// assert_eq!(Ipv6Addr::new(0x2001, 0xdb8, 0, 0, 0, 0, 0, 0).is_documentation(), true); 
14331438     /// ``` 
14341439     #[ rustc_const_unstable( feature = "const_ipv6" ,  issue = "76205" ) ]  
1440+     #[ unstable( feature = "ip" ,  issue = "27709" ) ]  
14351441    #[ inline]  
14361442    pub  const  fn  is_documentation ( & self )  -> bool  { 
14371443        ( self . segments ( ) [ 0 ]  == 0x2001 )  && ( self . segments ( ) [ 1 ]  == 0xdb8 ) 
@@ -1468,6 +1474,7 @@ impl Ipv6Addr {
14681474     /// assert_eq!(Ipv6Addr::new(0, 0, 0, 0, 0, 0xffff, 0xc00a, 0x2ff).is_unicast_global(), true); 
14691475     /// ``` 
14701476     #[ rustc_const_unstable( feature = "const_ipv6" ,  issue = "76205" ) ]  
1477+     #[ unstable( feature = "ip" ,  issue = "27709" ) ]  
14711478    #[ inline]  
14721479    pub  const  fn  is_unicast_global ( & self )  -> bool  { 
14731480        !self . is_multicast ( ) 
@@ -1494,6 +1501,7 @@ impl Ipv6Addr {
14941501     /// assert_eq!(Ipv6Addr::new(0, 0, 0, 0, 0, 0xffff, 0xc00a, 0x2ff).multicast_scope(), None); 
14951502     /// ``` 
14961503     #[ rustc_const_unstable( feature = "const_ipv6" ,  issue = "76205" ) ]  
1504+     #[ unstable( feature = "ip" ,  issue = "27709" ) ]  
14971505    #[ inline]  
14981506    pub  const  fn  multicast_scope ( & self )  -> Option < Ipv6MulticastScope >  { 
14991507        if  self . is_multicast ( )  { 
@@ -1555,6 +1563,7 @@ impl Ipv6Addr {
15551563     /// assert_eq!(Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 1).to_ipv4_mapped(), None); 
15561564     /// ``` 
15571565     #[ rustc_const_unstable( feature = "const_ipv6" ,  issue = "76205" ) ]  
1566+     #[ unstable( feature = "ip" ,  issue = "27709" ) ]  
15581567    #[ inline]  
15591568    pub  const  fn  to_ipv4_mapped ( & self )  -> Option < Ipv4Addr >  { 
15601569        match  self . octets ( )  { 
0 commit comments