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

@ -195,6 +195,16 @@ impl FromStr for Ipv4Network {
}
}
impl From<Ipv4Addr> for Ipv4Network {
fn from(a: Ipv4Addr) -> Ipv4Network {
Ipv4Network {
addr: a,
prefix: 32,
}
}
}
pub struct Ipv4NetworkIterator {
next: u64,
end: u64,
@ -432,4 +442,11 @@ mod test {
let prefix = ipv4_mask_to_prefix(mask);
assert!(prefix.is_err());
}
#[test]
fn ipv4network_from_ipv4addr() {
let net = Ipv4Network::from(Ipv4Addr::new(127, 0, 0, 1));
let expected = Ipv4Network::new(Ipv4Addr::new(127, 0, 0, 1), 32).unwrap();
assert_eq!(net, expected);
}
}