@@ -198,9 +198,10 @@ impl SocketAddr {
198198 /// socket.set_ip(IpAddr::V4(Ipv4Addr::new(10, 10, 0, 1)));
199199 /// assert_eq!(socket.ip(), IpAddr::V4(Ipv4Addr::new(10, 10, 0, 1)));
200200 /// ```
201- #[ stable( feature = "sockaddr_setters" , since = "1.9.0" ) ]
202201 #[ inline]
203- pub fn set_ip ( & mut self , new_ip : IpAddr ) {
202+ #[ stable( feature = "sockaddr_setters" , since = "1.9.0" ) ]
203+ #[ rustc_const_unstable( feature = "const_sockaddr_setters" , issue = "131714" ) ]
204+ pub const fn set_ip ( & mut self , new_ip : IpAddr ) {
204205 // `match (*self, new_ip)` would have us mutate a copy of self only to throw it away.
205206 match ( self , new_ip) {
206207 ( & mut SocketAddr :: V4 ( ref mut a) , IpAddr :: V4 ( new_ip) ) => a. set_ip ( new_ip) ,
@@ -241,9 +242,10 @@ impl SocketAddr {
241242 /// socket.set_port(1025);
242243 /// assert_eq!(socket.port(), 1025);
243244 /// ```
244- #[ stable( feature = "sockaddr_setters" , since = "1.9.0" ) ]
245245 #[ inline]
246- pub fn set_port ( & mut self , new_port : u16 ) {
246+ #[ stable( feature = "sockaddr_setters" , since = "1.9.0" ) ]
247+ #[ rustc_const_unstable( feature = "const_sockaddr_setters" , issue = "131714" ) ]
248+ pub const fn set_port ( & mut self , new_port : u16 ) {
247249 match * self {
248250 SocketAddr :: V4 ( ref mut a) => a. set_port ( new_port) ,
249251 SocketAddr :: V6 ( ref mut a) => a. set_port ( new_port) ,
@@ -346,9 +348,10 @@ impl SocketAddrV4 {
346348 /// socket.set_ip(Ipv4Addr::new(192, 168, 0, 1));
347349 /// assert_eq!(socket.ip(), &Ipv4Addr::new(192, 168, 0, 1));
348350 /// ```
349- #[ stable( feature = "sockaddr_setters" , since = "1.9.0" ) ]
350351 #[ inline]
351- pub fn set_ip ( & mut self , new_ip : Ipv4Addr ) {
352+ #[ stable( feature = "sockaddr_setters" , since = "1.9.0" ) ]
353+ #[ rustc_const_unstable( feature = "const_sockaddr_setters" , issue = "131714" ) ]
354+ pub const fn set_ip ( & mut self , new_ip : Ipv4Addr ) {
352355 self . ip = new_ip;
353356 }
354357
@@ -381,9 +384,10 @@ impl SocketAddrV4 {
381384 /// socket.set_port(4242);
382385 /// assert_eq!(socket.port(), 4242);
383386 /// ```
384- #[ stable( feature = "sockaddr_setters" , since = "1.9.0" ) ]
385387 #[ inline]
386- pub fn set_port ( & mut self , new_port : u16 ) {
388+ #[ stable( feature = "sockaddr_setters" , since = "1.9.0" ) ]
389+ #[ rustc_const_unstable( feature = "const_sockaddr_setters" , issue = "131714" ) ]
390+ pub const fn set_port ( & mut self , new_port : u16 ) {
387391 self . port = new_port;
388392 }
389393}
@@ -442,9 +446,10 @@ impl SocketAddrV6 {
442446 /// socket.set_ip(Ipv6Addr::new(76, 45, 0, 0, 0, 0, 0, 0));
443447 /// assert_eq!(socket.ip(), &Ipv6Addr::new(76, 45, 0, 0, 0, 0, 0, 0));
444448 /// ```
445- #[ stable( feature = "sockaddr_setters" , since = "1.9.0" ) ]
446449 #[ inline]
447- pub fn set_ip ( & mut self , new_ip : Ipv6Addr ) {
450+ #[ stable( feature = "sockaddr_setters" , since = "1.9.0" ) ]
451+ #[ rustc_const_unstable( feature = "const_sockaddr_setters" , issue = "131714" ) ]
452+ pub const fn set_ip ( & mut self , new_ip : Ipv6Addr ) {
448453 self . ip = new_ip;
449454 }
450455
@@ -477,9 +482,10 @@ impl SocketAddrV6 {
477482 /// socket.set_port(4242);
478483 /// assert_eq!(socket.port(), 4242);
479484 /// ```
480- #[ stable( feature = "sockaddr_setters" , since = "1.9.0" ) ]
481485 #[ inline]
482- pub fn set_port ( & mut self , new_port : u16 ) {
486+ #[ stable( feature = "sockaddr_setters" , since = "1.9.0" ) ]
487+ #[ rustc_const_unstable( feature = "const_sockaddr_setters" , issue = "131714" ) ]
488+ pub const fn set_port ( & mut self , new_port : u16 ) {
483489 self . port = new_port;
484490 }
485491
@@ -524,9 +530,10 @@ impl SocketAddrV6 {
524530 /// socket.set_flowinfo(56);
525531 /// assert_eq!(socket.flowinfo(), 56);
526532 /// ```
527- #[ stable( feature = "sockaddr_setters" , since = "1.9.0" ) ]
528533 #[ inline]
529- pub fn set_flowinfo ( & mut self , new_flowinfo : u32 ) {
534+ #[ stable( feature = "sockaddr_setters" , since = "1.9.0" ) ]
535+ #[ rustc_const_unstable( feature = "const_sockaddr_setters" , issue = "131714" ) ]
536+ pub const fn set_flowinfo ( & mut self , new_flowinfo : u32 ) {
530537 self . flowinfo = new_flowinfo;
531538 }
532539
@@ -566,9 +573,10 @@ impl SocketAddrV6 {
566573 /// socket.set_scope_id(42);
567574 /// assert_eq!(socket.scope_id(), 42);
568575 /// ```
569- #[ stable( feature = "sockaddr_setters" , since = "1.9.0" ) ]
570576 #[ inline]
571- pub fn set_scope_id ( & mut self , new_scope_id : u32 ) {
577+ #[ stable( feature = "sockaddr_setters" , since = "1.9.0" ) ]
578+ #[ rustc_const_unstable( feature = "const_sockaddr_setters" , issue = "131714" ) ]
579+ pub const fn set_scope_id ( & mut self , new_scope_id : u32 ) {
572580 self . scope_id = new_scope_id;
573581 }
574582}
0 commit comments