# 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"
rust-version = "1.31"
name = "semver"
version = "1.0.23"
authors = ["David Tolnay <dtolnay@gmail.com>"]
build = "build.rs"
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Parser and evaluator for Cargo's flavor of Semantic Versioning"
documentation = "https://docs.rs/semver"
readme = "README.md"
keywords = ["cargo"]
categories = [
    "data-structures",
    "no-std",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/dtolnay/semver"

[package.metadata.docs.rs]
rustdoc-args = [
    "--cfg",
    "doc_cfg",
    "--generate-link-to-definition",
]
targets = ["x86_64-unknown-linux-gnu"]

[lib]
name = "semver"
path = "src/lib.rs"
doc-scrape-examples = false

[[test]]
name = "test_version_req"
path = "tests/test_version_req.rs"

[[test]]
name = "test_identifier"
path = "tests/test_identifier.rs"

[[test]]
name = "test_autotrait"
path = "tests/test_autotrait.rs"

[[test]]
name = "test_version"
path = "tests/test_version.rs"

[[bench]]
name = "parse"
path = "benches/parse.rs"

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

[features]
default = ["std"]
std = []
