diff --git a/vm/src/builtins.rs b/vm/src/builtins.rs index 0ac6946a7..a6a041a00 100644 --- a/vm/src/builtins.rs +++ b/vm/src/builtins.rs @@ -64,13 +64,15 @@ fn builtin_ascii(obj: PyObjectRef, vm: &VirtualMachine) -> PyResult { let mut ascii = String::new(); for c in repr.value.chars() { if c.is_ascii() { - ascii.push(c); - } else if (c as i64) < 0x10000 { - let hex = format!("\\u{:04x}", c as i64); - ascii.push_str(&hex); + ascii.push(c) } else { - let hex = format!("\\U{:08x}", c as i64); - ascii.push_str(&hex); + let c = c as i64; + let hex = if c < 0x10000 { + format!("\\u{:04x}", c) + } else { + format!("\\U{:08x}", c) + }; + ascii.push_str(&hex) } } Ok(ascii)