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
+3 -12
View File
@@ -14,9 +14,7 @@
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 @@ pub fn new(ip: IpAddr, port: u16) -> 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 @@ fn to_socket_addrs(&self) -> io::Result<option::IntoIter<SocketAddr>> {
}
#[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>> {
+5 -6
View File
@@ -22,16 +22,15 @@
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.
-1
View File
@@ -18,7 +18,6 @@
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};
-3
View File
@@ -17,7 +17,6 @@
use error::Error;
use fmt;
#[allow(deprecated)]
use net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6};
use str::FromStr;
@@ -262,7 +261,6 @@ fn read_ipv6_addr(&mut self) -> Option<Ipv6Addr> {
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 @@ fn read_socket_addr(&mut self) -> Option<SocketAddr> {
}
#[stable(feature = "rust1", since = "1.0.0")]
#[allow(deprecated)]
impl FromStr for IpAddr {
type Err = AddrParseError;
fn from_str(s: &str) -> Result<IpAddr, AddrParseError> {