step2

Macro step2 

Source
macro_rules! step2 {
    () => { ... };
    (
        $(#[$meta: meta])*,
        $($tt: tt)*
    ) => { ... };
    (
        (#[$meta: meta] $($tt: tt)*),
        $($tail: tt)*
    ) => { ... };
    (
        (@[$($my_meta: tt)*] $($tt: tt)*),
        $($tail: tt)*
    ) => { ... };
    (
        ($($cb: path $(,)?)? ),
        $($tail: tt)*
    ) => { ... };
    (
        ($($cb: path)? , #[$meta: meta] $($common_meta: tt)*),
        $($tail: tt)*
    ) => { ... };
    (
        ($($cb: path)? , @[$($cus_meta: tt)*] $($common_meta: tt)*),
        $($tail: tt)*
    ) => { ... };
    (
        ($($tt: tt)*) $(,)?
    ) => { ... };
}