Auto merge of #31438 - aturon:stab-ip-addr, r=alexcrichton
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). r? @alexcrichton
This commit is contained in:
commit
0542745768
@ -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>> {
|
||||
|
@ -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.
|
||||
|
@ -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};
|
||||
|
@ -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> {
|
||||
|
Loading…
x
Reference in New Issue
Block a user