about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorEsteban Küber <esteban@kuber.com.ar>2019-07-23 16:28:20 -0700
committerEsteban Küber <esteban@kuber.com.ar>2019-07-23 17:24:18 -0700
commite26e6749fb5638749ed8d73fcb595a11c12f7eb2 (patch)
treed14a6dd98ab86713b08d16b7b6c2e83a4357688f /src
parent4bc1ce7bdb7f5dc9ea07c0b630c087d8e11140e4 (diff)
Always emit trailing slash error
Diffstat (limited to 'src')
-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 71b41161ad8..34af3238fb0 100644
--- a/src/libsyntax/parse/unescape_error_reporting.rs
+++ b/src/libsyntax/parse/unescape_error_reporting.rs
@@ -191,7 +191,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
+