# 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.57"
name = "derive-where"
version = "1.2.7"
include = [
    "src/**/*",
    "Cargo.toml",
    "LICENSE-*",
    "README.md",
]
description = "Deriving with custom trait bounds"
documentation = "https://docs.rs/derive-where"
readme = "README.md"
keywords = [
    "derive",
    "macro",
]
categories = [
    "rust-patterns",
    "no-std",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/ModProg/derive-where"

[package.metadata.docs.rs]
all-features = true
targets = []

[lib]
proc-macro = true

[dependencies.proc-macro2]
version = "1"
features = ["proc-macro"]
default-features = false

[dependencies.quote]
version = "1"
default-features = false

[dependencies.syn]
version = "2"
features = [
    "clone-impls",
    "derive",
    "extra-traits",
    "full",
    "parsing",
    "printing",
]
default-features = false

[dev-dependencies.pretty_assertions]
version = "1"

[dev-dependencies.rustversion]
version = "1"

[dev-dependencies.trybuild]
version = "1.0.18"
default-features = false

[dev-dependencies.zeroize_]
version = "1.5"
default-features = false
package = "zeroize"

[features]
nightly = []
safe = []
zeroize = []
zeroize-on-drop = ["zeroize"]
