avoid unnecessary allocation (#4178)

This commit is contained in:
Andrew Houts 2021-12-05 12:38:58 -06:00 committed by GitHub
parent c08e145501
commit ee9eddd851
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -925,11 +925,8 @@ fn escape_char<W>(wr: &mut W, value: char) -> Result<()>
where
W: io::Write,
{
// FIXME: this allocation is required in order to be compatible with stable
// rust, which doesn't support encoding a `char` into a stack buffer.
let mut s = String::new();
s.push(value);
escape_bytes(wr, s.as_bytes())
let mut scratch = [0_u8; 4];
escape_bytes(wr, value.encode_utf8(&mut scratch).as_bytes())
}
fn fmt_f32_or_null<W>(wr: &mut W, value: f32) -> Result<()>