about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMazdak Farrokhzad <twingoow@gmail.com>2019-07-24 16:13:20 +0200
committerGitHub <noreply@github.com>2019-07-24 16:13:20 +0200
commitc44e29bb592a55805e6a7809c4f0e153c7236368 (patch)
treeaa3c46ef11e64d2566c51655ef402ba0e134a8ce
parent92aff0a982e5af8d87ba630a60de2dc7200e6b4c (diff)
parente26e6749fb5638749ed8d73fcb595a11c12f7eb2 (diff)
downloadrust-c44e29bb592a55805e6a7809c4f0e153c7236368.tar.gz
rust-c44e29bb592a55805e6a7809c4f0e153c7236368.zip
Rollup merge of #62917 - estebank:trailing-slash, r=matklad
Always emit trailing slash error

Fix #62913.

r? @petrochenkov
-rw-r--r--src/libsyntax/parse/unescape_error_reporting.rs2
-rw-r--r--src/test/ui/parser/issue-62913.rs3
-rw-r--r--src/test/ui/parser/issue-62913.stderr16
3 files changed, 20 insertions, 1 deletions
diff --git a/src/libsyntax/parse/unescape_error_reporting.rs b/src/libsyntax/parse/unescape_error_reporting.rs
index bc3ee8620e0..7eee07e61a9 100644
--- a/src/libsyntax/parse/unescape_error_reporting.rs
+++ b/src/libsyntax/parse/unescape_error_reporting.rs
@@ -190,7 +190,7 @@ pub(crate) fn emit_unescape_error(
             handler.span_err(span, "empty character literal")
         }
         EscapeError::LoneSlash => {
-            panic!("lexer accepted unterminated literal with trailing slash")
+            handler.span_err(span, "invalid trailing slash in literal")
         }
     }
 }
diff --git a/src/test/ui/parser/issue-62913.rs b/src/test/ui/parser/issue-62913.rs
new file mode 100644
index 00000000000..cfa19a2a310
--- /dev/null
+++ b/src/test/ui/parser/issue-62913.rs
@@ -0,0 +1,3 @@
+"\u\\"
+//~^ ERROR incorrect unicode escape sequence
+//~| ERROR invalid trailing slash in literal
diff --git a/src/test/ui/parser/issue-62913.stderr b/src/test/ui/parser/issue-62913.stderr
new file mode 100644
index 00000000000..05c5c4d000a
--- /dev/null
+++ b/src/test/ui/parser/issue-62913.stderr
@@ -0,0 +1,16 @@
+error: incorrect unicode escape sequence
+  --> $DIR/issue-62913.rs:1:2
+   |
+LL | "\u\"
+   |  ^^^ incorrect unicode escape sequence
+   |
+   = help: format of unicode escape sequences is `\u{...}`
+
+error: invalid trailing slash in literal
+  --> $DIR/issue-62913.rs:1:5
+   |
+LL | "\u\"
+   |     ^
+
+error: aborting due to 2 previous errors
+