async-reify-macros 0.1.1

Attribute proc macros for async-reify (e.g. #[trace_async])
Documentation

Attribute proc macros for async-reify.

Currently provides [macro@trace_async], an attribute that rewrites every .await point in an async fn body to record into a shared async_reify::Trace without you having to wrap each await in LabeledFuture by hand.

You normally do not depend on this crate directly. Enable the macros feature on async-reify and the attribute is re-exported as async_reify::trace_async.

What the macro does

#[trace_async(trace = my_trace)] on a function rewrites every .await inside the body so it is wrapped in a LabeledFuture that records into the trace handle named by the trace = IDENT argument. Labels are auto-generated as "<expr> @ <file>:<line>", so every step in the resulting trace points back to the source line that produced it.

See the async-reify crate docs for the recording, inspection, and rendering pipeline this feeds into, and docs/phase4-async-reify.md for the design rationale.