# 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.9"
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", "extra-traits"]
[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"

[dev-dependencies.tracing-futures]
version = "0.2"

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