aboutsummaryrefslogtreecommitdiff
path: root/tests/untried/neg/macro-blackbox-extractor
diff options
context:
space:
mode:
Diffstat (limited to 'tests/untried/neg/macro-blackbox-extractor')
-rw-r--r--tests/untried/neg/macro-blackbox-extractor/Macros_1.scala21
-rw-r--r--tests/untried/neg/macro-blackbox-extractor/Test_2.scala5
2 files changed, 26 insertions, 0 deletions
diff --git a/tests/untried/neg/macro-blackbox-extractor/Macros_1.scala b/tests/untried/neg/macro-blackbox-extractor/Macros_1.scala
new file mode 100644
index 000000000..64b6270b7
--- /dev/null
+++ b/tests/untried/neg/macro-blackbox-extractor/Macros_1.scala
@@ -0,0 +1,21 @@
+import scala.reflect.macros.blackbox.Context
+import language.experimental.macros
+
+object Extractor {
+ def unapply(x: Int): Any = macro Macros.unapplyImpl
+}
+
+object Macros {
+ def unapplyImpl(c: Context)(x: c.Tree) = {
+ import c.universe._
+ q"""
+ new {
+ class Match(x: Int) {
+ def isEmpty = false
+ def get = x
+ }
+ def unapply(x: Int) = new Match(x)
+ }.unapply($x)
+ """
+ }
+}
diff --git a/tests/untried/neg/macro-blackbox-extractor/Test_2.scala b/tests/untried/neg/macro-blackbox-extractor/Test_2.scala
new file mode 100644
index 000000000..41be6f976
--- /dev/null
+++ b/tests/untried/neg/macro-blackbox-extractor/Test_2.scala
@@ -0,0 +1,5 @@
+object Test extends App {
+ 42 match {
+ case Extractor(x) => println(x)
+ }
+}