From 40053a46ff3b5d7a516d1f91e89cd928cf253347 Mon Sep 17 00:00:00 2001 From: Yamakaky Date: Mon, 12 Dec 2016 15:34:09 -0500 Subject: Impl From for IpAddr. Fixes https://github.com/rust-lang/rfcs/issues/1816. --- src/libstd/net/ip.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/libstd') diff --git a/src/libstd/net/ip.rs b/src/libstd/net/ip.rs index 6aab7486004..36a1aed8400 100644 --- a/src/libstd/net/ip.rs +++ b/src/libstd/net/ip.rs @@ -524,6 +524,18 @@ impl fmt::Display for IpAddr { } } +impl From for IpAddr { + fn from(ipv4: Ipv4Addr) -> IpAddr { + IpAddr::V4(ipv4) + } +} + +impl From for IpAddr { + fn from(ipv6: Ipv6Addr) -> IpAddr { + IpAddr::V6(ipv6) + } +} + #[stable(feature = "rust1", since = "1.0.0")] impl fmt::Display for Ipv4Addr { fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { -- cgit 1.4.1-3-g733a5 From 2d365c6b7ae0ed76d85e6dccaccc5782728e5d0b Mon Sep 17 00:00:00 2001 From: Yamakaky Date: Mon, 12 Dec 2016 15:34:09 -0500 Subject: Impl From for IpAddr and SocketAddr. Fixes https://github.com/rust-lang/rfcs/issues/1816. --- src/libstd/net/addr.rs | 14 ++++++++++++++ src/libstd/net/ip.rs | 2 ++ 2 files changed, 16 insertions(+) (limited to 'src/libstd') diff --git a/src/libstd/net/addr.rs b/src/libstd/net/addr.rs index 1ce37f6cc0a..f5348934310 100644 --- a/src/libstd/net/addr.rs +++ b/src/libstd/net/addr.rs @@ -446,6 +446,20 @@ impl FromInner for SocketAddrV6 { } } +#[stable(feature = "ip_from_ip", since = "1.16.0")] +impl From for SocketAddr { + fn from(sock4: SocketAddrV4) -> SocketAddr { + SocketAddr::V4(sock4) + } +} + +#[stable(feature = "ip_from_ip", since = "1.16.0")] +impl From for SocketAddr { + fn from(sock6: SocketAddrV6) -> SocketAddr { + SocketAddr::V6(sock6) + } +} + impl<'a> IntoInner<(*const c::sockaddr, c::socklen_t)> for &'a SocketAddr { fn into_inner(self) -> (*const c::sockaddr, c::socklen_t) { match *self { diff --git a/src/libstd/net/ip.rs b/src/libstd/net/ip.rs index 36a1aed8400..249f1c76680 100644 --- a/src/libstd/net/ip.rs +++ b/src/libstd/net/ip.rs @@ -524,12 +524,14 @@ impl fmt::Display for IpAddr { } } +#[stable(feature = "ip_from_ip", since = "1.16.0")] impl From for IpAddr { fn from(ipv4: Ipv4Addr) -> IpAddr { IpAddr::V4(ipv4) } } +#[stable(feature = "ip_from_ip", since = "1.16.0")] impl From for IpAddr { fn from(ipv6: Ipv6Addr) -> IpAddr { IpAddr::V6(ipv6) -- cgit 1.4.1-3-g733a5