[package] name = "tracers-macros-hack" version = "0.1.0" authors = ["Adam Nelson "] edition = "2018" license = "MIT OR Apache-2.0" description = """ Do not reference this crate directly; see the "tracers" crate for further instructions. This crate contains the actual `proc-macro=true` crate which implements the probing macros. Because the `probe!` macro is actually a procedural macro but is used in expression position, we must use the `proc_macro_hack` crate to work around the fact that Rust doesn't natively support this usage yet. That hack requires that the actual macro be implemented in one crate, then re-exported from a second crate. Thus, to ensure that callers can simply add a dependency on `tracers_macros`, we make `tracers_macros` the re-exporting crate and this one, `tracers_macros_hack`, the actual proc macro crate. Confused? Me too. """ repository = "https://github.com/anelson/tracers" [dependencies] quote = "1.0.2" failure = "0.1.6" once_cell = "1.2.0" proc-macro2 = "1.0.6" heck = "0.3.1" proc-macro-hack = "0.5.11" tracers-codegen = { path = "../tracers-codegen", version = "0.1.0" } tracers-core = { path = "../tracers-core", version = "0.1.0" } [dependencies.syn] # We need some optional features of syn in order to implement the macro version = "1.0.8" features = ["full"] [dev-dependencies] quickcheck = "0.9.0" quickcheck_macros = "0.8.0" [lib] proc-macro=true