# 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 believe there's an error in this file please file an
# issue against the rust-lang/cargo repository. If you're
# editing this file be aware that the upstream Cargo.toml
# will likely look very different (and much more reasonable)

[package]
edition = "2018"
name = "tracing-attributes"
version = "0.1.13"
authors = ["Tokio Contributors <team@tokio.rs>", "Eliza Weisman <eliza@buoyant.io>", "David Barsky <dbarsky@amazon.com>"]
description = "Procedural macro attributes for automatically instrumenting functions.\n"
homepage = "https://tokio.rs"
readme = "README.md"
keywords = ["logging", "tracing", "macro", "instrument", "log"]
categories = ["development-tools::debugging", "development-tools::profiling", "asynchronous"]
license = "MIT"
repository = "https://github.com/tokio-rs/tracing"

[lib]
proc-macro = true
[dependencies.proc-macro2]
version = "1"

[dependencies.quote]
version = "1"

[dependencies.syn]
version = "1"
features = ["full", "parsing", "printing", "visit-mut", "clone-impls", "extra-traits", "proc-macro"]
default-features = false
[dev-dependencies.async-trait]
version = "0.1"

[dev-dependencies.tokio-test]
version = "0.2.0"

[dev-dependencies.tracing]
version = "0.1"

[dev-dependencies.tracing-core]
version = "0.1"

[features]
async-await = []
[badges.maintenance]
status = "experimental"
