diff --git a/src/libsyntax/parse/lexer/mod.rs b/src/libsyntax/parse/lexer/mod.rs index 9e38ffe7f0dc4..e1d8a4d8c5423 100644 --- a/src/libsyntax/parse/lexer/mod.rs +++ b/src/libsyntax/parse/lexer/mod.rs @@ -1081,11 +1081,12 @@ impl<'a> StringReader<'a> { if !self.curr_is('\'') { let last_bpos = self.last_pos; panic!(self.fatal_span_verbose( - // Byte offsetting here is okay because the - // character before position `start` is an - // ascii single quote. - start - BytePos(1), last_bpos, - "unterminated character constant".to_string())); + // Byte offsetting here is okay because the + // character before position `start` is an + // ascii single quote. + start - BytePos(1), last_bpos, + + String::from("character literal may only contain one codepoint"))); } let id = if valid { self.name_from(start) } else { token::intern("0") }; self.bump(); // advance curr past token diff --git a/src/test/parse-fail/lex-bad-char-literals.rs b/src/test/parse-fail/lex-bad-char-literals.rs index 33fb1e14eb3b9..6335632455fbd 100644 --- a/src/test/parse-fail/lex-bad-char-literals.rs +++ b/src/test/parse-fail/lex-bad-char-literals.rs @@ -25,8 +25,8 @@ static s: &'static str = "\●" //~ ERROR: unknown character escape ; -// THIS MUST BE LAST, since unterminated character constants kill the lexer +// THIS MUST BE LAST, since it kills the lexer static c: char = - '● //~ ERROR: unterminated character constant + '● //~ ERROR: character literal may only contain one codepoint ;