with_netmask()
constructors.Merge @imp's Default
implementation. See #18. Ipv4Net
and Ipv6Net
now default to 0.0.0.0/0 and ::/0 respectively. IpNet
defaults to the 0/0 Ipv4Net
.
Add #[allow(arithmetic_overflow)]
for Ipv4AddrRange::count()
and Ipv6AddrRange::count()
. Since 1.43.0-nightly it gives a build error but this panic behavior is desired. In future it may be replaced with explicit use of panic!
. See #21.
From<IpAddr>
, From<Ipv4Addr>
, and From<Ipv6Addr>
for IpNet
, Ipv4Net
, and Ipv6Net
respectively.Implement FusedIterator
for IpAddrRange
, Ipv4AddrRange
, Ipv6AddrRange
, IpSubnets
, Ipv4Subnets
, and Ipv6Subnets
.
Implement DoubleEndedIterator
for IpAddrRange
, Ipv4AddrRange
, Ipv6AddrRange
.
Implement custom count()
, last()
, max()
, min()
, nth()
, and size_hint()
for IpAddrRange
, Ipv4AddrRange
, Ipv6AddrRange
.
Fix bug where IpAddrRange never ends when start and end are both 0 #11
Fix warning about missing ‘dyn’
The Emu128
module has been removed. This provided an emulated 128-bit integer for supporting IPv6 addresses. As of Rust 1.26 the built-in 128-bit integers have been marked stable and this library has been updated to use these instead of Emu128
.
The with-serde
feature name shim has been removed. The serde
feature should now be used using the bare serde
feature name per the Rust API Guidelines.
The Deref
on Ipv4Net
and Ipv6Net
has been removed. This dereferenced to the Ipv4Addr
and Ipv6Addr
contained in the type. To use these methods call them directly on the contained IP address of interest, which may be accessed using the addr()
or network()
methods.
In prior versions it was necessary to use the Contains
trait to access the contains()
methods. These are now inherited in public methods on the IpNet
, Ipv4Net
, and Ipv6Net
types so are always available.
The implementations of IpAdd<u32>
and IpSub<u32>
for IpAddr have been removed.
The implementations of IpAdd<u32>
and IpSub<u32>
for Ipv6Addr
have been removed.
with-serde
, but the Rust API Guidelines recommend using serde
as the name of the feature. This release changes the feature name from with-serde
to serde
, but it is backwards compatible for those that already started using the with-serde
feature name. The 1.1.0 release was yanked on crates.io to discourage further use of this feature name. See pull request #7.