Revert deprecation of IpAddr, stabilizing for 1.7

After [considerable
pushback](https://github.com/rust-lang/rfcs/issues/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).
This commit is contained in:
Aaron Turon 2016-02-05 16:22:45 -08:00
parent 34af2de409
commit 2067c570fb
4 changed files with 8 additions and 22 deletions

View file

@ -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};
@ -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)),
@ -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()),
@ -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>> {

View file

@ -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.

View file

@ -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};

View file

@ -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;
@ -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);
@ -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> {