macro_rules! generate_smart_pointer_codec { ($ptr_path:path, $ptr_name:ident, $trait_name:ident) => { ... }; }