Remove the feature flag for 128 bit integers

Since it is stable now
This commit is contained in:
Abhishek Chanda
2018-05-12 13:53:59 +01:00
parent 36ebedf346
commit bbcc53cd94
3 changed files with 4 additions and 23 deletions

View File

@ -8,13 +8,8 @@ env:
- secure: gokQ7xIWwmAuEUW3IyS5B/pbZxdFSSDBto5beJ+4ACGcRMDqJ/eCPf1ekSVXME4TWM46uUCjxcdUjYhIhQ6sG4zfWck4u45qRJ5JbIoTvR+ykxhN1j3Zi5x9ptP3ALDbHn2i3v6t9xohORfQpz3dVND5c7thbYDyKP2ZR1sez5c= - secure: gokQ7xIWwmAuEUW3IyS5B/pbZxdFSSDBto5beJ+4ACGcRMDqJ/eCPf1ekSVXME4TWM46uUCjxcdUjYhIhQ6sG4zfWck4u45qRJ5JbIoTvR+ykxhN1j3Zi5x9ptP3ALDbHn2i3v6t9xohORfQpz3dVND5c7thbYDyKP2ZR1sez5c=
- FEATURES: default - FEATURES: default
matrix:
include:
- rust: nightly
env: FEATURES=ipv6-iterator,ipv6-methods
script: script:
- cargo build --features $FEATURES --verbose - cargo build --verbose
- cargo test --features $FEATURES --verbose - cargo test --verbose
- cargo build --features $FEATURES --release --verbose - cargo build --release --verbose
- cargo doc --features $FEATURES --verbose - cargo doc --verbose

View File

@ -50,7 +50,6 @@ impl Ipv6Network {
/// Returns an iterator over `Ipv6Network`. Each call to `next` will return the next /// Returns an iterator over `Ipv6Network`. Each call to `next` will return the next
/// `Ipv6Addr` in the given network. `None` will be returned when there are no more /// `Ipv6Addr` in the given network. `None` will be returned when there are no more
/// addresses. /// addresses.
#[cfg(feature = "ipv6-iterator")]
pub fn iter(&self) -> Ipv6NetworkIterator { pub fn iter(&self) -> Ipv6NetworkIterator {
let dec = u128::from(self.addr); let dec = u128::from(self.addr);
let max = u128::max_value(); let max = u128::max_value();
@ -80,7 +79,6 @@ impl Ipv6Network {
/// let net: Ipv6Network = "2001:db8::/96".parse().unwrap(); /// let net: Ipv6Network = "2001:db8::/96".parse().unwrap();
/// assert_eq!(net.network(), Ipv6Addr::new(0x2001, 0xdb8, 0, 0, 0, 0, 0, 0)); /// assert_eq!(net.network(), Ipv6Addr::new(0x2001, 0xdb8, 0, 0, 0, 0, 0, 0));
/// ``` /// ```
#[cfg(feature = "ipv6-methods")]
pub fn network(&self) -> Ipv6Addr { pub fn network(&self) -> Ipv6Addr {
let mask = u128::from(self.mask()); let mask = u128::from(self.mask());
let ip = u128::from(self.addr) & mask; let ip = u128::from(self.addr) & mask;
@ -99,7 +97,6 @@ impl Ipv6Network {
/// let net: Ipv6Network = "2001:db8::/96".parse().unwrap(); /// let net: Ipv6Network = "2001:db8::/96".parse().unwrap();
/// assert_eq!(net.broadcast(), Ipv6Addr::new(0x2001, 0xdb8, 0, 0, 0, 0, 0xffff, 0xffff)); /// assert_eq!(net.broadcast(), Ipv6Addr::new(0x2001, 0xdb8, 0, 0, 0, 0, 0xffff, 0xffff));
/// ``` /// ```
#[cfg(feature = "ipv6-methods")]
pub fn broadcast(&self) -> Ipv6Addr { pub fn broadcast(&self) -> Ipv6Addr {
let mask = u128::from(self.mask()); let mask = u128::from(self.mask());
let broadcast = u128::from(self.addr) | !mask; let broadcast = u128::from(self.addr) | !mask;
@ -176,7 +173,6 @@ impl Ipv6Network {
/// let tinynet: Ipv6Network = "ff01::0/128".parse().unwrap(); /// let tinynet: Ipv6Network = "ff01::0/128".parse().unwrap();
/// assert_eq!(tinynet.size(), 1); /// assert_eq!(tinynet.size(), 1);
/// ``` /// ```
#[cfg(feature = "ipv6-methods")]
pub fn size(&self) -> u128 { pub fn size(&self) -> u128 {
let host_bits = (IPV6_BITS - self.prefix) as u32; let host_bits = (IPV6_BITS - self.prefix) as u32;
(2 as u128).pow(host_bits) (2 as u128).pow(host_bits)
@ -206,13 +202,11 @@ impl From<Ipv6Addr> for Ipv6Network {
} }
} }
#[cfg(feature = "ipv6-iterator")]
pub struct Ipv6NetworkIterator { pub struct Ipv6NetworkIterator {
next: u128, next: u128,
end: u128, end: u128,
} }
#[cfg(feature = "ipv6-iterator")]
impl Iterator for Ipv6NetworkIterator { impl Iterator for Ipv6NetworkIterator {
type Item = Ipv6Addr; type Item = Ipv6Addr;
@ -360,7 +354,6 @@ mod test {
} }
#[test] #[test]
#[cfg(feature = "ipv6-iterator")]
fn iterator_v6() { fn iterator_v6() {
let cidr: Ipv6Network = "2001:db8::/126".parse().unwrap(); let cidr: Ipv6Network = "2001:db8::/126".parse().unwrap();
let mut iter = cidr.iter(); let mut iter = cidr.iter();
@ -384,7 +377,6 @@ mod test {
} }
#[test] #[test]
#[cfg(feature = "ipv6-iterator")]
fn iterator_v6_tiny() { fn iterator_v6_tiny() {
let cidr: Ipv6Network = "2001:db8::/128".parse().unwrap(); let cidr: Ipv6Network = "2001:db8::/128".parse().unwrap();
let mut iter = cidr.iter(); let mut iter = cidr.iter();
@ -396,7 +388,6 @@ mod test {
} }
#[test] #[test]
#[cfg(feature = "ipv6-iterator")]
fn iterator_v6_huge() { fn iterator_v6_huge() {
let cidr: Ipv6Network = "2001:db8::/0".parse().unwrap(); let cidr: Ipv6Network = "2001:db8::/0".parse().unwrap();
let mut iter = cidr.iter(); let mut iter = cidr.iter();
@ -406,7 +397,6 @@ mod test {
} }
#[test] #[test]
#[cfg(feature = "ipv6-methods")]
fn network_v6() { fn network_v6() {
let cidr: Ipv6Network = "2001:db8::0/96".parse().unwrap(); let cidr: Ipv6Network = "2001:db8::0/96".parse().unwrap();
let net = cidr.network(); let net = cidr.network();
@ -415,7 +405,6 @@ mod test {
} }
#[test] #[test]
#[cfg(feature = "ipv6-methods")]
fn broadcast_v6() { fn broadcast_v6() {
let cidr: Ipv6Network = "2001:db8::0/96".parse().unwrap(); let cidr: Ipv6Network = "2001:db8::0/96".parse().unwrap();
let net = cidr.broadcast(); let net = cidr.broadcast();
@ -424,7 +413,6 @@ mod test {
} }
#[test] #[test]
#[cfg(feature = "ipv6-methods")]
fn size_v6() { fn size_v6() {
let cidr: Ipv6Network = "2001:db8::0/96".parse().unwrap(); let cidr: Ipv6Network = "2001:db8::0/96".parse().unwrap();
assert_eq!(cidr.size(), 4294967296); assert_eq!(cidr.size(), 4294967296);

View File

@ -3,8 +3,6 @@
//! is still WIP. //! is still WIP.
#![cfg_attr(feature = "dev", feature(plugin))] #![cfg_attr(feature = "dev", feature(plugin))]
#![cfg_attr(feature = "dev", plugin(clippy))] #![cfg_attr(feature = "dev", plugin(clippy))]
#![cfg_attr(feature = "ipv6-iterator", feature(i128_type))]
#![cfg_attr(feature = "ipv6-methods", feature(i128_type))]
#![crate_type = "lib"] #![crate_type = "lib"]
#![doc(html_root_url = "https://docs.rs/ipnetwork/0.12.8")] #![doc(html_root_url = "https://docs.rs/ipnetwork/0.12.8")]