about summary refs log tree commit diff
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume1.gomez@gmail.com>2020-06-02 14:13:03 +0200
committerGuillaume Gomez <guillaume1.gomez@gmail.com>2020-06-07 14:57:53 +0200
commite8fb46090e938d52f2637c973e1e13886289ee3d (patch)
tree5358f87a4f9e92d20c7618558433af94cd947d6e
parenta2fc33e0c87a258542cd12d6ffae52c43aa3785a (diff)
downloadrust-e8fb46090e938d52f2637c973e1e13886289ee3d.tar.gz
rust-e8fb46090e938d52f2637c973e1e13886289ee3d.zip
Create new error code E0758 for unterminated multi-line comments
-rw-r--r--src/librustc_error_codes/error_codes.rs1
-rw-r--r--src/librustc_error_codes/error_codes/E0758.md20
-rw-r--r--src/librustc_parse/lexer/mod.rs10
3 files changed, 30 insertions, 1 deletions
diff --git a/src/librustc_error_codes/error_codes.rs b/src/librustc_error_codes/error_codes.rs
index 7abe75a375a..760b4d7ba00 100644
--- a/src/librustc_error_codes/error_codes.rs
+++ b/src/librustc_error_codes/error_codes.rs
@@ -437,6 +437,7 @@ E0751: include_str!("./error_codes/E0751.md"),
 E0752: include_str!("./error_codes/E0752.md"),
 E0753: include_str!("./error_codes/E0753.md"),
 E0754: include_str!("./error_codes/E0754.md"),
+E0758: include_str!("./error_codes/E0758.md"),
 E0760: include_str!("./error_codes/E0760.md"),
 ;
 //  E0006, // merged with E0005
diff --git a/src/librustc_error_codes/error_codes/E0758.md b/src/librustc_error_codes/error_codes/E0758.md
new file mode 100644
index 00000000000..ddca4b3d75f
--- /dev/null
+++ b/src/librustc_error_codes/error_codes/E0758.md
@@ -0,0 +1,20 @@
+A multi-line (doc-)comment is unterminated.
+
+Erroneous code example:
+
+```compile_fail,E0758
+/* I am not terminated!
+```
+
+The same goes for doc comments:
+
+```compile_fail,E0758
+/*! I am not terminated!
+```
+
+You need to end your multi-line comment with `*/` in order to fix this error:
+
+```
+/* I am terminated! */
+/*! I am also terminated! */
+```
diff --git a/src/librustc_parse/lexer/mod.rs b/src/librustc_parse/lexer/mod.rs
index 7e59f06e44a..9bc6a50acad 100644
--- a/src/librustc_parse/lexer/mod.rs
+++ b/src/librustc_parse/lexer/mod.rs
@@ -191,7 +191,15 @@ impl<'a> StringReader<'a> {
                         "unterminated block comment"
                     };
                     let last_bpos = self.pos;
-                    self.fatal_span_(start, last_bpos, msg).raise();
+                    self.sess
+                        .span_diagnostic
+                        .struct_span_fatal_with_code(
+                            self.mk_sp(start, last_bpos),
+                            msg,
+                            error_code!(E0758),
+                        )
+                        .emit();
+                    FatalError.raise();
                 }
 
                 if is_doc_comment {