# 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.64.0"
name = "winnow"
version = "0.5.40"
include = [
    "build.rs",
    "src/**/*",
    "Cargo.toml",
    "Cargo.lock",
    "LICENSE*",
    "README.md",
    "benches/**/*",
    "examples/**/*",
]
autoexamples = false
description = "A byte-oriented, zero-copy, parser combinators library"
readme = "README.md"
keywords = [
    "parser",
    "parser-combinators",
    "parsing",
    "streaming",
    "bit",
]
categories = ["parsing"]
license = "MIT"
repository = "https://github.com/winnow-rs/winnow"

[package.metadata.docs.rs]
cargo-args = [
    "-Zunstable-options",
    "-Zrustdoc-scrape-examples",
]
features = ["unstable-doc"]
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
min = 1
replace = "{{version}}"
search = "Unreleased"

[[package.metadata.release.pre-release-replacements]]
exactly = 1
file = "CHANGELOG.md"
replace = "...{{tag_name}}"
search = '\.\.\.HEAD'

[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
min = 1
replace = "{{date}}"
search = "ReleaseDate"

[[package.metadata.release.pre-release-replacements]]
exactly = 1
file = "CHANGELOG.md"
replace = """
<!-- next-header -->
## [Unreleased] - ReleaseDate
"""
search = "<!-- next-header -->"

[[package.metadata.release.pre-release-replacements]]
exactly = 1
file = "CHANGELOG.md"
replace = """
<!-- next-url -->
[Unreleased]: https://github.com/winnow-rs/winnow/compare/{{tag_name}}...HEAD"""
search = "<!-- next-url -->"

[[package.metadata.release.pre-release-replacements]]
exactly = 1
file = "src/lib.rs"
replace = "blob/v{{version}}/CHANGELOG.md"
search = 'blob/v.+\..+\..+/CHANGELOG.md'

[profile.bench]
lto = true
codegen-units = 1
debug = 2

[[example]]
name = "arithmetic"
test = true
required-features = ["alloc"]

[[example]]
name = "css"
test = true
required-features = ["alloc"]

[[example]]
name = "custom_error"
test = true
required-features = ["alloc"]

[[example]]
name = "http"
required-features = ["alloc"]

[[example]]
name = "ini"
test = true
required-features = ["std"]

[[example]]
name = "json"
test = true
required-features = ["std"]

[[example]]
name = "ndjson"
test = true
required-features = ["std"]

[[example]]
name = "json_iterator"
required-features = ["std"]

[[example]]
name = "iterator"

[[example]]
name = "s_expression"
required-features = ["alloc"]

[[example]]
name = "string"
required-features = ["alloc"]

[[bench]]
name = "arithmetic"
path = "examples/arithmetic/bench.rs"
harness = false
required-features = ["alloc"]

[[bench]]
name = "contains_token"
harness = false

[[bench]]
name = "find_slice"
harness = false

[[bench]]
name = "iter"
harness = false

[[bench]]
name = "next_slice"
harness = false

[[bench]]
name = "number"
harness = false

[[bench]]
name = "http"
path = "examples/http/bench.rs"
harness = false
required-features = ["alloc"]

[[bench]]
name = "ini"
path = "examples/ini/bench.rs"
harness = false
required-features = ["std"]

[[bench]]
name = "json"
path = "examples/json/bench.rs"
harness = false
required-features = ["std"]

[dependencies.anstream]
version = "0.3.2"
optional = true

[dependencies.anstyle]
version = "1.0.1"
optional = true

[dependencies.is-terminal]
version = "0.4.9"
optional = true

[dependencies.memchr]
version = "2.5"
optional = true
default-features = false

[dependencies.terminal_size]
version = "0.2.6"
optional = true

[dev-dependencies.circular]
version = "0.3.0"

[dev-dependencies.criterion]
version = "0.5.1"

[dev-dependencies.doc-comment]
version = "0.3"

[dev-dependencies.escargot]
version = "0.5.7"

[dev-dependencies.lexopt]
version = "0.3.0"

[dev-dependencies.proptest]
version = "1.2.0"

[dev-dependencies.rustc-hash]
version = "1.1.0"

[dev-dependencies.snapbox]
version = "0.4.11"
features = ["examples"]

[dev-dependencies.term-transcript]
version = "0.2.0"

[features]
alloc = []
debug = [
    "dep:anstream",
    "dep:anstyle",
    "dep:is-terminal",
    "dep:terminal_size",
]
default = ["std"]
simd = ["dep:memchr"]
std = [
    "alloc",
    "memchr?/std",
]
unstable-doc = [
    "alloc",
    "std",
    "simd",
    "unstable-recover",
]
unstable-recover = []
