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

[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.72", default-features = false }
quote = { version = "1.0.34", optional = true, default-features = false }
unicode-ident = "1"

[dev-dependencies]
anyhow = "1"
automod = "1"
flate2 = "1"
insta = "1"
rayon = "1"
ref-cast = "1"
reqwest = { version = "0.11", features = ["blocking"] }
rustversion = "1"
syn-test-suite = { version = "0", path = "tests/features" }
tar = "0.4.16"
termcolor = "1"
walkdir = "2.3.2"

[lib]
doc-scrape-examples = false

[[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", "--generate-link-to-definition"]

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

[workspace]
members = [
    "dev",
    "examples/dump-syntax",
    "examples/heapsize/example",
    "examples/heapsize/heapsize",
    "examples/heapsize/heapsize_derive",
    "examples/lazy-static/example",
    "examples/lazy-static/lazy-static",
    "examples/trace-var/example",
    "examples/trace-var/trace-var",
    "tests/features",
]
