From 5c60d1d902da615a770ef211217a46d92b3aaae7 Mon Sep 17 00:00:00 2001 From: Barosl Lee Date: Thu, 2 Jul 2015 03:55:18 +0900 Subject: Preserve escape sequences in documentation comments on macro expansion Escape sequences in documentation comments must not be parsed as a normal string when expanding a macro, otherwise some innocent but invalid-escape-sequence-looking comments will trigger an ICE. Although this commit replaces normal string literals with raw string literals in macro expansion, this shouldn't be much a problem considering documentation comments are converted into attributes before being passed to a macro anyways. Fixes #25929. Fixes #25943. --- src/libsyntax/ast.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/libsyntax') diff --git a/src/libsyntax/ast.rs b/src/libsyntax/ast.rs index e844b206cc0..a944acad84d 100644 --- a/src/libsyntax/ast.rs +++ b/src/libsyntax/ast.rs @@ -1104,7 +1104,7 @@ impl TokenTree { tts: vec![TtToken(sp, token::Ident(token::str_to_ident("doc"), token::Plain)), TtToken(sp, token::Eq), - TtToken(sp, token::Literal(token::Str_(name), None))], + TtToken(sp, token::Literal(token::StrRaw(name, 0), None))], close_span: sp, })) } -- cgit 1.4.1-3-g733a5