Fix unescaping of C string literals

This commit is contained in:
oxalica 2023-07-18 18:42:02 +08:00
parent de1f766820
commit 59a3e42ac9
No known key found for this signature in database
GPG key ID: D425CB23CADE82D9
6 changed files with 49 additions and 21 deletions

View file

@ -507,8 +507,9 @@ fn main() {
println!("Hello\nWorld");
println!("\u{48}\x65\x6C\x6C\x6F World");
let _ = "\x28\x28\x00\x63\xFF\n"; // invalid non-UTF8 escape sequences
let _ = b"\x28\x28\x00\x63\xFF\n"; // valid bytes
let _ = "\x28\x28\x00\x63\xFF\u{FF}\n"; // invalid non-UTF8 escape sequences
let _ = b"\x28\x28\x00\x63\xFF\u{FF}\n"; // valid bytes, invalid unicodes
let _ = c"\u{FF}\xFF"; // valid bytes, valid unicodes
let backslash = r"\\";
println!("{\x41}", A = 92);