summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/compiler/scala/tools/reflect/quasiquotes/Parsers.scala3
-rw-r--r--test/files/scalacheck/quasiquotes/ErrorProps.scala12
2 files changed, 14 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/reflect/quasiquotes/Parsers.scala b/src/compiler/scala/tools/reflect/quasiquotes/Parsers.scala
index af17ae9ac0..b68022afd9 100644
--- a/src/compiler/scala/tools/reflect/quasiquotes/Parsers.scala
+++ b/src/compiler/scala/tools/reflect/quasiquotes/Parsers.scala
@@ -22,7 +22,8 @@ trait Parsers { self: Quasiquotes =>
def parse(code: String): Tree = {
try {
val file = new BatchSourceFile(nme.QUASIQUOTE_FILE, code)
- new QuasiquoteParser(file).parseRule(entryPoint)
+ val parser = new QuasiquoteParser(file)
+ parser.checkNoEscapingPlaceholders { parser.parseRule(entryPoint) }
} catch {
case mi: MalformedInput => c.abort(correspondingPosition(mi.offset), mi.msg)
}
diff --git a/test/files/scalacheck/quasiquotes/ErrorProps.scala b/test/files/scalacheck/quasiquotes/ErrorProps.scala
index d61119d98f..3d9b27de77 100644
--- a/test/files/scalacheck/quasiquotes/ErrorProps.scala
+++ b/test/files/scalacheck/quasiquotes/ErrorProps.scala
@@ -160,6 +160,18 @@ object ErrorProps extends QuasiquoteProperties("errors") {
q"$n"
""")
+ property("SI-8211: check unbound placeholder paremeters") = fails(
+ "unbound placeholder parameter",
+ """
+ q"_"
+ """)
+
+ property("SI-8211: check unbound wildcard types") = fails(
+ "unbound wildcard type",
+ """
+ tq"_"
+ """)
+
// // Make sure a nice error is reported in this case
// { import Flag._; val mods = NoMods; q"lazy $mods val x: Int" }
}