summaryrefslogtreecommitdiff
path: root/test/files/neg/t6810.check
diff options
context:
space:
mode:
authorSom Snytt <som.snytt@gmail.com>2015-06-29 00:29:15 -0700
committerSom Snytt <som.snytt@gmail.com>2015-06-29 00:29:15 -0700
commitd7547cb76d41da04c8448cf1de8a5b5686152d17 (patch)
tree8d2d636a7ed5c48c43b4ab8e766d61f5810f01a7 /test/files/neg/t6810.check
parentd90d8b89687be5c817cc081ed970328c6d8fd13f (diff)
downloadscala-d7547cb76d41da04c8448cf1de8a5b5686152d17.tar.gz
scala-d7547cb76d41da04c8448cf1de8a5b5686152d17.tar.bz2
scala-d7547cb76d41da04c8448cf1de8a5b5686152d17.zip
SI-6810 Disallow EOL in char literal
It's clear that char literals are one-lined like normal string literals. By the same token, pun intended, char literals accept unicode escapes the same as string literals, including `\u000A`. This commit adds the usual exclusions (CR, NL, SU). The spec is outdated in outlawing chars that are not "printable", in particular, the ASCII control codes. The original intention may have been that the ordinary string escapes are required, such as "\b\n". Note that some common escapes are absent, such as "\a".
Diffstat (limited to 'test/files/neg/t6810.check')
-rw-r--r--test/files/neg/t6810.check22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/files/neg/t6810.check b/test/files/neg/t6810.check
new file mode 100644
index 0000000000..8b0e6715aa
--- /dev/null
+++ b/test/files/neg/t6810.check
@@ -0,0 +1,22 @@
+t6810.scala:4: error: unclosed character literal
+ val y = '
+ ^
+t6810.scala:5: error: unclosed character literal
+' // but not embedded EOL sequences not represented as escapes
+^
+t6810.scala:9: error: unclosed string literal
+ val Y = "
+ ^
+t6810.scala:10: error: unclosed string literal
+" // obviously not
+^
+t6810.scala:20: error: unclosed quoted identifier
+ val `
+ ^
+t6810.scala:21: error: unclosed quoted identifier
+` = EOL // not raw string literals aka triple-quoted, multiline strings
+^
+t6810.scala:22: error: '=' expected but '}' found.
+}
+^
+7 errors found