mirror of
https://github.com/achanda/ipnetwork.git
synced 2025-06-14 16:26:32 +00:00
Impl From<Ipv4Addr, Ipv6Addr> for IpNetwork (#218)
This commit is contained in:
23
src/lib.rs
23
src/lib.rs
@ -8,7 +8,12 @@
|
|||||||
unused_import_braces
|
unused_import_braces
|
||||||
)]
|
)]
|
||||||
|
|
||||||
use std::{convert::TryFrom, fmt, net::IpAddr, str::FromStr};
|
use std::{
|
||||||
|
convert::TryFrom,
|
||||||
|
fmt,
|
||||||
|
net::{IpAddr, Ipv4Addr, Ipv6Addr},
|
||||||
|
str::FromStr,
|
||||||
|
};
|
||||||
|
|
||||||
mod error;
|
mod error;
|
||||||
mod ipv4;
|
mod ipv4;
|
||||||
@ -377,11 +382,23 @@ impl From<Ipv6Network> for IpNetwork {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl From<Ipv4Addr> for IpNetwork {
|
||||||
|
fn from(addr: Ipv4Addr) -> IpNetwork {
|
||||||
|
IpNetwork::V4(Ipv4Network::from(addr))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<Ipv6Addr> for IpNetwork {
|
||||||
|
fn from(addr: Ipv6Addr) -> IpNetwork {
|
||||||
|
IpNetwork::V6(Ipv6Network::from(addr))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl From<IpAddr> for IpNetwork {
|
impl From<IpAddr> for IpNetwork {
|
||||||
fn from(addr: IpAddr) -> IpNetwork {
|
fn from(addr: IpAddr) -> IpNetwork {
|
||||||
match addr {
|
match addr {
|
||||||
IpAddr::V4(a) => IpNetwork::V4(Ipv4Network::from(a)),
|
IpAddr::V4(a) => IpNetwork::from(a),
|
||||||
IpAddr::V6(a) => IpNetwork::V6(Ipv6Network::from(a)),
|
IpAddr::V6(a) => IpNetwork::from(a),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user