Skip to content

Commit

Permalink
Revert deprecation of IpAddr, stabilizing for 1.7
Browse files Browse the repository at this point in the history
After [considerable
pushback](rust-lang/rfcs#1451), it's clear
that there is a community consensus around providing `IpAddr` in the
standard library, together with other APIs using it.

This commit reverts from deprecated status directly to stable. The
deprecation landed in 1.6, which has already been released, so the
stabilization is marked for 1.7 (currently in beta; will require a backport).
  • Loading branch information
aturon committed Feb 9, 2016
1 parent 34af2de commit 2067c57
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 22 deletions.
15 changes: 3 additions & 12 deletions src/libstd/net/addr.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,7 @@ use fmt;
use hash;
use io;
use mem;
use net::{lookup_host, ntoh, hton, Ipv4Addr, Ipv6Addr};
#[allow(deprecated)]
use net::IpAddr;
use net::{lookup_host, ntoh, hton, IpAddr, Ipv4Addr, Ipv6Addr};
use option;
use sys::net::netc as c;
use sys_common::{FromInner, AsInner, IntoInner};
Expand Down Expand Up @@ -52,10 +50,7 @@ pub struct SocketAddrV6 { inner: c::sockaddr_in6 }

impl SocketAddr {
/// Creates a new socket address from the (ip, port) pair.
#[unstable(feature = "ip_addr", reason = "recent addition", issue = "27801")]
#[rustc_deprecated(reason = "ip type too small a type to pull its weight",
since = "1.6.0")]
#[allow(deprecated)]
#[stable(feature = "ip_addr", since = "1.7.0")]
pub fn new(ip: IpAddr, port: u16) -> SocketAddr {
match ip {
IpAddr::V4(a) => SocketAddr::V4(SocketAddrV4::new(a, port)),
Expand All @@ -64,10 +59,7 @@ impl SocketAddr {
}

/// Returns the IP address associated with this socket address.
#[unstable(feature = "ip_addr", reason = "recent addition", issue = "27801")]
#[rustc_deprecated(reason = "too small a type to pull its weight",
since = "1.6.0")]
#[allow(deprecated)]
#[stable(feature = "ip_addr", since = "1.7.0")]
pub fn ip(&self) -> IpAddr {
match *self {
SocketAddr::V4(ref a) => IpAddr::V4(*a.ip()),
Expand Down Expand Up @@ -361,7 +353,6 @@ impl ToSocketAddrs for SocketAddrV6 {
}

#[stable(feature = "rust1", since = "1.0.0")]
#[allow(deprecated)]
impl ToSocketAddrs for (IpAddr, u16) {
type Iter = option::IntoIter<SocketAddr>;
fn to_socket_addrs(&self) -> io::Result<option::IntoIter<SocketAddr>> {
Expand Down
11 changes: 5 additions & 6 deletions src/libstd/net/ip.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,15 @@ use sys::net::netc as c;
use sys_common::{AsInner, FromInner};

/// An IP address, either an IPv4 or IPv6 address.
#[unstable(feature = "ip_addr", reason = "recent addition", issue = "27801")]
#[rustc_deprecated(reason = "too small a type to pull its weight",
since = "1.6.0")]
#[stable(feature = "ip_addr", since = "1.7.0")]
#[derive(Copy, Clone, Eq, PartialEq, Debug, Hash, PartialOrd, Ord)]
#[allow(deprecated)]
pub enum IpAddr {
/// Representation of an IPv4 address.
V4(Ipv4Addr),
#[stable(feature = "ip_addr", since = "1.7.0")]
V4(#[cfg_attr(not(stage0), stable(feature = "rust1", since = "1.7.0"))] Ipv4Addr),
/// Representation of an IPv6 address.
V6(Ipv6Addr),
#[stable(feature = "ip_addr", since = "1.7.0")]
V6(#[cfg_attr(not(stage0), stable(feature = "rust1", since = "1.7.0"))] Ipv6Addr),
}

/// Representation of an IPv4 address.
Expand Down
1 change: 0 additions & 1 deletion src/libstd/net/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ use io::{self, Error, ErrorKind};
use sys_common::net as net_imp;

#[stable(feature = "rust1", since = "1.0.0")]
#[allow(deprecated)]
pub use self::ip::{IpAddr, Ipv4Addr, Ipv6Addr, Ipv6MulticastScope};
#[stable(feature = "rust1", since = "1.0.0")]
pub use self::addr::{SocketAddr, SocketAddrV4, SocketAddrV6, ToSocketAddrs};
Expand Down
3 changes: 0 additions & 3 deletions src/libstd/net/parser.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ use prelude::v1::*;

use error::Error;
use fmt;
#[allow(deprecated)]
use net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6};
use str::FromStr;

Expand Down Expand Up @@ -262,7 +261,6 @@ impl<'a> Parser<'a> {
self.read_atomically(|p| p.read_ipv6_addr_impl())
}

#[allow(deprecated)]
fn read_ip_addr(&mut self) -> Option<IpAddr> {
let ipv4_addr = |p: &mut Parser| p.read_ipv4_addr().map(IpAddr::V4);
let ipv6_addr = |p: &mut Parser| p.read_ipv6_addr().map(IpAddr::V6);
Expand Down Expand Up @@ -308,7 +306,6 @@ impl<'a> Parser<'a> {
}

#[stable(feature = "rust1", since = "1.0.0")]
#[allow(deprecated)]
impl FromStr for IpAddr {
type Err = AddrParseError;
fn from_str(s: &str) -> Result<IpAddr, AddrParseError> {
Expand Down

0 comments on commit 2067c57

Please sign in to comment.