Address all changes clippy pointed out

This commit is contained in:
Abhishek Chanda
2020-01-18 17:53:15 +00:00
parent ca1d332e71
commit 45fbf458b3
3 changed files with 14 additions and 14 deletions

View File

@ -36,17 +36,17 @@ pub fn cidr_parts(cidr: &str) -> Result<(&str, Option<&str>), IpNetworkError> {
let (ip, prefix) = cidr.split_at(sep); let (ip, prefix) = cidr.split_at(sep);
// Error if cidr has multiple slashes // Error if cidr has multiple slashes
if prefix[1..].find('/').is_some() { if prefix[1..].find('/').is_some() {
return Err(IpNetworkError::InvalidCidrFormat(format!( Err(IpNetworkError::InvalidCidrFormat(format!(
"CIDR must contain a single '/': {}", "CIDR must contain a single '/': {}",
cidr cidr
))); )))
} else { } else {
// Handle the case when cidr has exactly one slash // Handle the case when cidr has exactly one slash
return Ok((ip, Some(&prefix[1..]))); Ok((ip, Some(&prefix[1..])))
} }
} else { } else {
// Handle the case when cidr does not have a slash // Handle the case when cidr does not have a slash
return Ok((cidr, None)); Ok((cidr, None))
} }
} }

View File

@ -61,7 +61,7 @@ impl Ipv4Network {
/// Returns an iterator over `Ipv4Network`. Each call to `next` will return the next /// Returns an iterator over `Ipv4Network`. Each call to `next` will return the next
/// `Ipv4Addr` in the given network. `None` will be returned when there are no more /// `Ipv4Addr` in the given network. `None` will be returned when there are no more
/// addresses. /// addresses.
pub fn iter(&self) -> Ipv4NetworkIterator { pub fn iter(self) -> Ipv4NetworkIterator {
let start = u32::from(self.network()); let start = u32::from(self.network());
let end = start + (self.size() - 1); let end = start + (self.size() - 1);
Ipv4NetworkIterator { Ipv4NetworkIterator {
@ -70,11 +70,11 @@ impl Ipv4Network {
} }
} }
pub fn ip(&self) -> Ipv4Addr { pub fn ip(self) -> Ipv4Addr {
self.addr self.addr
} }
pub fn prefix(&self) -> u8 { pub fn prefix(self) -> u8 {
self.prefix self.prefix
} }
@ -109,7 +109,7 @@ impl Ipv4Network {
/// let net: Ipv4Network = "127.0.0.0/16".parse().unwrap(); /// let net: Ipv4Network = "127.0.0.0/16".parse().unwrap();
/// assert_eq!(net.mask(), Ipv4Addr::new(255, 255, 0, 0)); /// assert_eq!(net.mask(), Ipv4Addr::new(255, 255, 0, 0));
/// ``` /// ```
pub fn mask(&self) -> Ipv4Addr { pub fn mask(self) -> Ipv4Addr {
let prefix = self.prefix; let prefix = self.prefix;
let mask = !(0xffff_ffff as u64 >> prefix) as u32; let mask = !(0xffff_ffff as u64 >> prefix) as u32;
Ipv4Addr::from(mask) Ipv4Addr::from(mask)
@ -127,7 +127,7 @@ impl Ipv4Network {
/// let net: Ipv4Network = "10.1.9.32/16".parse().unwrap(); /// let net: Ipv4Network = "10.1.9.32/16".parse().unwrap();
/// assert_eq!(net.network(), Ipv4Addr::new(10, 1, 0, 0)); /// assert_eq!(net.network(), Ipv4Addr::new(10, 1, 0, 0));
/// ``` /// ```
pub fn network(&self) -> Ipv4Addr { pub fn network(self) -> Ipv4Addr {
let mask = u32::from(self.mask()); let mask = u32::from(self.mask());
let ip = u32::from(self.addr) & mask; let ip = u32::from(self.addr) & mask;
Ipv4Addr::from(ip) Ipv4Addr::from(ip)
@ -145,7 +145,7 @@ impl Ipv4Network {
/// let net: Ipv4Network = "10.9.0.32/16".parse().unwrap(); /// let net: Ipv4Network = "10.9.0.32/16".parse().unwrap();
/// assert_eq!(net.broadcast(), Ipv4Addr::new(10, 9, 255, 255)); /// assert_eq!(net.broadcast(), Ipv4Addr::new(10, 9, 255, 255));
/// ``` /// ```
pub fn broadcast(&self) -> Ipv4Addr { pub fn broadcast(self) -> Ipv4Addr {
let mask = u32::from(self.mask()); let mask = u32::from(self.mask());
let broadcast = u32::from(self.addr) | !mask; let broadcast = u32::from(self.addr) | !mask;
Ipv4Addr::from(broadcast) Ipv4Addr::from(broadcast)
@ -163,7 +163,7 @@ impl Ipv4Network {
/// assert!(net.contains(Ipv4Addr::new(127, 0, 0, 70))); /// assert!(net.contains(Ipv4Addr::new(127, 0, 0, 70)));
/// assert!(!net.contains(Ipv4Addr::new(127, 0, 1, 70))); /// assert!(!net.contains(Ipv4Addr::new(127, 0, 1, 70)));
/// ``` /// ```
pub fn contains(&self, ip: Ipv4Addr) -> bool { pub fn contains(self, ip: Ipv4Addr) -> bool {
let mask = !(0xffff_ffff as u64 >> self.prefix) as u32; let mask = !(0xffff_ffff as u64 >> self.prefix) as u32;
let net = u32::from(self.addr) & mask; let net = u32::from(self.addr) & mask;
(u32::from(ip) & mask) == net (u32::from(ip) & mask) == net
@ -183,7 +183,7 @@ impl Ipv4Network {
/// let tinynet: Ipv4Network = "0.0.0.0/32".parse().unwrap(); /// let tinynet: Ipv4Network = "0.0.0.0/32".parse().unwrap();
/// assert_eq!(tinynet.size(), 1); /// assert_eq!(tinynet.size(), 1);
/// ``` /// ```
pub fn size(&self) -> u32 { pub fn size(self) -> u32 {
let host_bits = u32::from(IPV4_BITS - self.prefix); let host_bits = u32::from(IPV4_BITS - self.prefix);
(2 as u32).pow(host_bits) (2 as u32).pow(host_bits)
} }
@ -205,7 +205,7 @@ impl Ipv4Network {
/// let net2: Ipv4Network = "10.0.0.0/16".parse().unwrap(); /// let net2: Ipv4Network = "10.0.0.0/16".parse().unwrap();
/// assert_eq!(net2.nth(256).unwrap(), Ipv4Addr::new(10, 0, 1, 0)); /// assert_eq!(net2.nth(256).unwrap(), Ipv4Addr::new(10, 0, 1, 0));
/// ``` /// ```
pub fn nth(&self, n: u32) -> Option<Ipv4Addr> { pub fn nth(self, n: u32) -> Option<Ipv4Addr> {
if n < self.size() { if n < self.size() {
let net = u32::from(self.network()); let net = u32::from(self.network());
Some(Ipv4Addr::from(net + n)) Some(Ipv4Addr::from(net + n))

View File

@ -72,7 +72,7 @@ impl Ipv6Network {
Ipv6NetworkIterator { Ipv6NetworkIterator {
next: Some(start), next: Some(start),
end: end, end,
} }
} }