Skip to main content

Crate macroonz_macros

Crate macroonz_macros 

Source
Expand description

The thin proc-macro carrier for the root recipe entrance, item-preserving attributes, and direct declarations.

Recipe grammar and projection belong to the compiler’s recipe home; the other entries use the compiler’s descriptor home and its door road. What this crate adds is exactly what a proc host owns: token conversion, span custody, one compiler call, diagnostic placement, and emission — plus the facts of its own act, declared once beside each entry. Built-in recipe projections may cross this host, while an arbitrary downstream projection algorithm uses the same compiler contract from a caller-owned compiler or proc host.

Each attribute expands to one exported carrier and then re-emits the item token stream it received; the carrier is inert until a consumption target invokes it, so an ordinary build compiles the item and one macro definition and nothing more. Direct declarations such as shadow!, network!, and concurrency! emit ordinary items where the declaration stands, inert inside nothing, because a face and a builder are not cargo.

Macros§

concurrency
Declares named interleaving explorations, and expands to one generic function per row.
network
Declares a topology and its fault schedules, and expands to the builder module an author would have written by hand.
shadow
Declares the two faces of every chosen synchronization name, once, where the declaration stands.

Attribute Macros§

bench
Declares a neutral benchmark table and its typed report-reader seat beside the item this attribute sits on.
mutations
Declares a mutation surface over the enum this attribute sits on.
trials
Declares a trial table beside the item this attribute sits on.