Skip to main content

axis_extension_impl_for_commitment_axis

Macro axis_extension_impl_for_commitment_axis 

Source
macro_rules! axis_extension_impl_for_commitment_axis {
    ($struct_ident:ident) => { ... };
    (
        @ generic $struct_ty:ty, [$($generic_params:tt)*] $(, where
        [$($where_clauses:tt)*])?
    ) => { ... };
}
Expand description

Wiki ADR-030 companion macro: instantiate AxisExtension for a concrete struct implementing this axis trait. The macro emits an impl AxisExtension for <StructIdent> block that delegates dispatch_kernel to the axis-trait methods per KERNEL_* id. The orphan-rule-conformant per-struct impl mechanism replacing the blanket impl<T: <axis>> AxisExtension for T (which would violate Rust’s orphan rule from any crate that does not define AxisExtension).