# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2018"
name = "ipnet"
version = "2.5.0"
authors = ["Kris Price <kris@krisprice.nz>"]
description = "Provides types and useful methods for working with IPv4 and IPv6 network addresses, commonly called IP prefixes. The new `IpNet`, `Ipv4Net`, and `Ipv6Net` types build on the existing `IpAddr`, `Ipv4Addr`, and `Ipv6Addr` types already provided in Rust's standard library and align to their design to stay consistent. The module also provides useful traits that extend `Ipv4Addr` and `Ipv6Addr` with methods for `Add`, `Sub`, `BitAnd`, and `BitOr` operations. The module only uses stable feature so it is guaranteed to compile using the stable toolchain."
documentation = "https://docs.rs/ipnet"
readme = "README.md"
keywords = ["IP", "CIDR", "network", "prefix", "subnet"]
categories = ["network-programming"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/krisprice/ipnet"
[dependencies.schemars]
version = "0.8"
optional = true

[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
package = "serde"
[dev-dependencies.serde_test]
version = "1"

[features]
default = []
json = ["serde", "schemars"]
[badges.travis-ci]
repository = "krisprice/ipnet"
