Mercurial > crates > systemd-socket
changeset 11:13e2a5545167
Implement From conversions
This implements same `From<T>` conversions that `std` does.
author | Martin Habovstiak <martin.habovstiak@gmail.com> |
---|---|
date | Sun, 29 Nov 2020 14:11:19 +0100 |
parents | c9f42be465ca |
children | 4479770c2275 |
files | src/lib.rs |
diffstat | 1 files changed, 18 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib.rs Sun Nov 29 14:04:48 2020 +0100 +++ b/src/lib.rs Sun Nov 29 14:11:19 2020 +0100 @@ -306,6 +306,24 @@ const SYSTEMD_PREFIX: &str = "systemd://"; +impl<I: Into<std::net::IpAddr>> From<(I, u16)> for SocketAddr { + fn from(value: (I, u16)) -> Self { + SocketAddr(SocketAddrInner::Ordinary(value.into())) + } +} + +impl From<std::net::SocketAddrV4> for SocketAddr { + fn from(value: std::net::SocketAddrV4) -> Self { + SocketAddr(SocketAddrInner::Ordinary(value.into())) + } +} + +impl From<std::net::SocketAddrV6> for SocketAddr { + fn from(value: std::net::SocketAddrV6) -> Self { + SocketAddr(SocketAddrInner::Ordinary(value.into())) + } +} + impl std::str::FromStr for SocketAddr { type Err = ParseError;