[package]
name = "syn"
version = "1.0.61" # don't forget to update html_root_url and syn.json
authors = ["David Tolnay <dtolnay@gmail.com>"]
license = "MIT OR Apache-2.0"
description = "Parser for Rust source code"
repository = "https://github.com/dtolnay/syn"
documentation = "https://docs.rs/syn"
categories = ["development-tools::procedural-macro-helpers"]
readme = "README.md"
include = [
    "/benches/**",
    "/build.rs",
    "/Cargo.toml",
    "/LICENSE-APACHE",
    "/LICENSE-MIT",
    "/README.md",
    "/src/**",
    "/tests/**",
]
edition = "2018"

[features]
default = ["derive", "parsing", "printing", "clone-impls", "proc-macro"]
derive = []
full = []
parsing = []
printing = ["quote"]
visit = []
visit-mut = []
fold = []
clone-impls = []
extra-traits = []
proc-macro = ["proc-macro2/proc-macro", "quote/proc-macro"]
test = ["syn-test-suite/all-features"]

[dependencies]
proc-macro2 = { version = "1.0.23", default-features = false }
quote = { version = "1.0", optional = true, default-features = false }
unicode-xid = "0.2"

[dev-dependencies]
anyhow = "1.0"
flate2 = "1.0"
insta = "1.0"
rayon = "1.0"
ref-cast = "1.0"
regex = "1.0"
reqwest = { version = "0.10", features = ["blocking"] }
syn-test-suite = { version = "0", path = "tests/features" }
tar = "0.4.16"
termcolor = "1.0"
walkdir = "2.1"

[[bench]]
name = "rust"
harness = false
required-features = ["full", "parsing"]

[[bench]]
name = "file"
required-features = ["full", "parsing"]

[package.metadata.docs.rs]
all-features = true
targets = ["x86_64-unknown-linux-gnu"]
rustdoc-args = ["--cfg", "doc_cfg"]

[package.metadata.playground]
features = ["full", "visit", "visit-mut", "fold", "extra-traits"]

[workspace]
members = ["dev", "json", "tests/features"]
