macro_rules! fields_ex {
    (
        $(
            $buffer_type:path [$raw_data:ident] {
                $(
                    $(#[$doc:meta])*
                    $Vis:vis $field:ident [$position_start:literal $(..= $position_end:literal)? , $rw:tt, $value_type:tt $(<$generic:tt>)?] $({
                        $(input_converter:$input_converter:expr;)?
                        $(output_converter:$output_converter:expr)?
                    })?
                ),+ $(,)?
            }
        )+
    ) => { ... };
}
Expand description

相比于宏 fields,fields_ex 可以添加注释,且会自行定义字段结构体单元;

注意:fields_ex 并非是任何情况的最优解。