# 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]
rust-version = "1.56"
name = "serde_derive"
version = "1.0.157"
authors = [
    "Erick Tryzelaar <erick.tryzelaar@gmail.com>",
    "David Tolnay <dtolnay@gmail.com>",
]
include = [
    "build.rs",
    "src/**/*.rs",
    "crates-io.md",
    "README.md",
    "LICENSE-APACHE",
    "LICENSE-MIT",
]
description = "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]"
homepage = "https://serde.rs"
documentation = "https://serde.rs/derive.html"
readme = "crates-io.md"
keywords = [
    "serde",
    "serialization",
    "no_std",
    "derive",
]
categories = ["no-std"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/serde-rs/serde"

[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]

[lib]
name = "serde_derive"
proc-macro = true

[dependencies.proc-macro2]
version = "1.0"

[dependencies.quote]
version = "1.0"

[dependencies.syn]
version = "2.0"

[dev-dependencies.serde]
version = "1.0"

[features]
default = []
deserialize_in_place = []
