From e6b032a9efa4df2932bd6999c4c9dc7a74a12e24 Mon Sep 17 00:00:00 2001 From: Chris Morgan Date: Thu, 27 Feb 2014 12:16:18 +1100 Subject: Fix a pretty printer crash on `/***`. The pretty printer was treating block comments with more than two asterisks after the first slash (e.g. `/***`) as doc comments (which are attributes), whereas in actual fact they are just regular comments. --- src/libsyntax/parse/comments.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/libsyntax/parse') diff --git a/src/libsyntax/parse/comments.rs b/src/libsyntax/parse/comments.rs index e0ae9ce2812..bd1c4f9babb 100644 --- a/src/libsyntax/parse/comments.rs +++ b/src/libsyntax/parse/comments.rs @@ -260,7 +260,7 @@ fn read_block_comment(rdr: &StringReader, let mut curr_line = ~"/*"; // doc-comments are not really comments, they are attributes - if rdr.curr_is('*') || rdr.curr_is('!') { + if (rdr.curr_is('*') && !nextch_is(rdr, '*')) || rdr.curr_is('!') { while !(rdr.curr_is('*') && nextch_is(rdr, '/')) && !is_eof(rdr) { curr_line.push_char(rdr.curr.get().unwrap()); bump(rdr); -- cgit 1.4.1-3-g733a5