Open
Description
Lexer uses Pattern_White_Space unicode property when skipping over trivia. However, when we process string literals with escaped newlines, we only skip ASCII whitespace:
rust/src/libsyntax/parse/mod.rs
Line 379 in fe0a415
Here's an example program that shows that U+200F is ignored in program text, but not in the string literal
Here's the text of the program in Debug format, to make whitespace slightly more visible
"fn main() {\n\u{200f}\u{200f}\u{200f}\n let s = \"\\\n\u{200f}\u{200f}\u{200f}hello\n\";\n println!(\"{:?}\", s);\n} \n"