add From<IpAddr> for IpNetwork

This commit is contained in:
Nick Erdmann
2017-08-22 15:15:18 +00:00
parent 0a99bf969c
commit 9db3d5c30d
3 changed files with 42 additions and 0 deletions

View File

@ -172,6 +172,15 @@ impl FromStr for Ipv6Network {
}
}
impl From<Ipv6Addr> for Ipv6Network {
fn from(a: Ipv6Addr) -> Ipv6Network {
Ipv6Network {
addr: a,
prefix: 128,
}
}
}
#[cfg(feature = "ipv6-iterator")]
pub struct Ipv6NetworkIterator {
next: u128,
@ -373,4 +382,11 @@ mod test {
let cidr: Ipv6Network = "2001:db8::0/96".parse().unwrap();
assert_eq!(cidr.size(), 4294967296);
}
#[test]
fn ipv6network_from_ipv6addr() {
let net = Ipv6Network::from(Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 1));
let expected = Ipv6Network::new(Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 1), 128).unwrap();
assert_eq!(net, expected);
}
}