Rollup merge of #73164 - GuillaumeGomez:add-e0761, r=petrochenkov
Add new E0762 error code
This commit is contained in:
commit
70c14c2d43
5 changed files with 27 additions and 3 deletions
|
@ -440,6 +440,7 @@ E0754: include_str!("./error_codes/E0754.md"),
|
|||
E0758: include_str!("./error_codes/E0758.md"),
|
||||
E0760: include_str!("./error_codes/E0760.md"),
|
||||
E0761: include_str!("./error_codes/E0761.md"),
|
||||
E0762: include_str!("./error_codes/E0762.md"),
|
||||
;
|
||||
// E0006, // merged with E0005
|
||||
// E0008, // cannot bind by-move into a pattern guard
|
||||
|
|
13
src/librustc_error_codes/error_codes/E0762.md
Normal file
13
src/librustc_error_codes/error_codes/E0762.md
Normal file
|
@ -0,0 +1,13 @@
|
|||
A character literal wasn't ended with a quote.
|
||||
|
||||
Erroneous code example:
|
||||
|
||||
```compile_fail,E0762
|
||||
static C: char = '●; // error!
|
||||
```
|
||||
|
||||
To fix this error, add the missing quote:
|
||||
|
||||
```
|
||||
static C: char = '●'; // ok!
|
||||
```
|
|
@ -325,7 +325,15 @@ impl<'a> StringReader<'a> {
|
|||
let (lit_kind, mode, prefix_len, postfix_len) = match kind {
|
||||
rustc_lexer::LiteralKind::Char { terminated } => {
|
||||
if !terminated {
|
||||
self.fatal_span_(start, suffix_start, "unterminated character literal").raise()
|
||||
self.sess
|
||||
.span_diagnostic
|
||||
.struct_span_fatal_with_code(
|
||||
self.mk_sp(start, suffix_start),
|
||||
"unterminated character literal",
|
||||
error_code!(E0762),
|
||||
)
|
||||
.emit();
|
||||
FatalError.raise();
|
||||
}
|
||||
(token::Char, Mode::Char, 1, 1) // ' '
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
error: unterminated character literal
|
||||
error[E0762]: unterminated character literal
|
||||
--> $DIR/lex-bad-char-literals-4.rs:4:5
|
||||
|
|
||||
LL | '●
|
||||
|
@ -6,3 +6,4 @@ LL | '●
|
|||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0762`.
|
||||
|
|
|
@ -10,7 +10,7 @@ error: empty unicode escape (must have at least 1 hex digit)
|
|||
LL | let _: char = '\u{}';
|
||||
| ^^^^
|
||||
|
||||
error: unterminated character literal
|
||||
error[E0762]: unterminated character literal
|
||||
--> $DIR/lex-bad-char-literals-7.rs:11:13
|
||||
|
|
||||
LL | let _ = ' hello // here's a comment
|
||||
|
@ -18,3 +18,4 @@ LL | let _ = ' hello // here's a comment
|
|||
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0762`.
|
||||
|
|
Loading…
Add table
Reference in a new issue