src/serialize/writer/str/scalar.rs (33 lines of code) (raw):

// SPDX-License-Identifier: (Apache-2.0 OR MIT) #[cfg(all(not(feature = "unstable-simd"), not(target_arch = "x86_64")))] use super::escape::{NEED_ESCAPED, QUOTE_TAB}; macro_rules! impl_format_scalar { ($dst:expr, $src:expr, $value_len:expr) => { unsafe { for _ in 0..$value_len { core::ptr::write($dst, *($src)); $src = $src.add(1); $dst = $dst.add(1); if unlikely!(NEED_ESCAPED[*($src.sub(1)) as usize] > 0) { let escape = QUOTE_TAB[*($src.sub(1)) as usize]; write_escape!(escape, $dst.sub(1)); $dst = $dst.add(escape.1 as usize - 1); } } } }; } #[cfg(all(not(feature = "unstable-simd"), not(target_arch = "x86_64")))] pub unsafe fn format_escaped_str_scalar( odst: *mut u8, value_ptr: *const u8, value_len: usize, ) -> usize { let mut dst = odst; let mut src = value_ptr; core::ptr::write(dst, b'"'); dst = dst.add(1); impl_format_scalar!(dst, src, value_len); core::ptr::write(dst, b'"'); dst = dst.add(1); dst as usize - odst as usize }