# 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.66.0"
name = "toml"
version = "0.7.8"
authors = ["Alex Crichton <alex@alexcrichton.com>"]
include = [
    "build.rs",
    "src/**/*",
    "Cargo.toml",
    "Cargo.lock",
    "LICENSE*",
    "README.md",
    "benches/**/*",
    "examples/**/*",
    "tests/**/*",
]
description = """
A native Rust encoder and decoder of TOML-formatted files and streams. Provides
implementations of the standard Serialize/Deserialize traits for TOML data to
facilitate deserializing and serializing Rust structures.
"""
homepage = "https://github.com/toml-rs/toml"
readme = "README.md"
keywords = [
    "encoding",
    "toml",
]
categories = [
    "encoding",
    "parser-implementations",
    "parsing",
    "config",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/toml-rs/toml"

[package.metadata.docs.rs]
all-features = true
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/toml-rs/toml/compare/{{tag_name}}...HEAD"""
search = "<!-- next-url -->"

[[example]]
name = "decode"
required-features = [
    "parse",
    "display",
]

[[example]]
name = "enum_external"
required-features = [
    "parse",
    "display",
]

[[example]]
name = "toml2json"
required-features = [
    "parse",
    "display",
]

[[test]]
name = "decoder_compliance"
harness = false

[[test]]
name = "encoder_compliance"
harness = false

[dependencies.indexmap]
version = "2.0.0"
optional = true

[dependencies.serde]
version = "1.0.145"

[dependencies.serde_spanned]
version = "0.6.3"
features = ["serde"]

[dependencies.toml_datetime]
version = "0.6.3"
features = ["serde"]

[dependencies.toml_edit]
version = "0.19.15"
features = ["serde"]
optional = true

[dev-dependencies.serde]
version = "1.0.160"
features = ["derive"]

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

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

[dev-dependencies.toml-test-harness]
version = "0.4.3"

[features]
default = [
    "parse",
    "display",
]
display = ["dep:toml_edit"]
parse = ["dep:toml_edit"]
preserve_order = ["indexmap"]
