# 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 = "2021"
rust-version = "1.67.0"
name = "deranged"
version = "0.3.11"
authors = ["Jacob Pratt <jacob@jhpratt.dev>"]
include = [
    "src/**/*",
    "LICENSE-*",
    "README.md",
]
description = "Ranged integers"
readme = "README.md"
keywords = [
    "integer",
    "int",
    "range",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/jhpratt/deranged"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docs_rs",
]
targets = ["x86_64-unknown-linux-gnu"]

[dependencies.num-traits]
version = "0.2.15"
optional = true
default-features = false

[dependencies.powerfmt]
version = "0.2.0"
optional = true
default-features = false

[dependencies.quickcheck]
version = "1.0.3"
optional = true
default-features = false

[dependencies.rand]
version = "0.8.4"
optional = true
default-features = false

[dependencies.serde]
version = "1.0.126"
optional = true
default-features = false

[dev-dependencies.rand]
version = "0.8.4"

[dev-dependencies.serde_json]
version = "1.0.86"

[features]
alloc = []
default = ["std"]
num = ["dep:num-traits"]
powerfmt = ["dep:powerfmt"]
quickcheck = [
    "dep:quickcheck",
    "alloc",
]
rand = ["dep:rand"]
serde = ["dep:serde"]
std = ["alloc"]
