Crate dialectic_macro

Source

Macros§

Session
The Session! macro compiles a small domain-specific language for describing session types into the types themselves. It should be invoked in type position.
generate_unary_conversion_impls
Internal implementation detail: This proc macro generates trait implementations of ToUnary and ToConstant which convert type-level constants into unary representation, and vice versa. It will generate up to the maximum number specified as the argument.
impl_tuples
Internal implementation detail: This proc macro generates implementations of Tuple and AsList for tuples up to the arity passed in as the argument.
offer
The offer! macro offers a set of different protocols, allowing the other side of the channel to choose with which one to proceed.

Attribute Macros§

Receiver
In situations where the transmitting backend for a channel is generic, explicitly writing down all the trait bounds necessary to implement a protocol for that parameterized backend can be a lot of boilerplate. The Receiver attribute macro abbreviates these bounds by modifying the where clause of the item to which it is attached.
Transmitter
In situations where the transmitting backend for a channel is generic, explicitly writing down all the trait bounds necessary to implement a protocol for that parameterized backend can be a lot of boilerplate. The Transmitter attribute macro abbreviates these bounds by modifying the where clause of the item to which it is attached.