macro_rules! ascii_compatible_encoder_function { ($bmp_body:block, $astral_body:block, $bmp:ident, $astral:ident, $slf:ident, $source:ident, $handle:ident, $copy_ascii:ident, $destination_check:ident, $name:ident, $input:ty, $source_struct:ident, $ascii_punctuation:expr) => { ... }; }