summaryrefslogtreecommitdiff
path: root/test/files/pos/t8411
diff options
context:
space:
mode:
authorDenys Shabalin <denys.shabalin@typesafe.com>2014-03-17 13:59:08 +0100
committerDenys Shabalin <denys.shabalin@typesafe.com>2014-03-22 11:56:19 +0100
commit5e23a6ac32394130dd72458c7efe38dbd1ddb116 (patch)
treedd9a0b8d3bed270747cacf8fbb4350c100c18c12 /test/files/pos/t8411
parent79f7e05c082a1810f9315e19658e20af15b08235 (diff)
downloadscala-5e23a6ac32394130dd72458c7efe38dbd1ddb116.tar.gz
scala-5e23a6ac32394130dd72458c7efe38dbd1ddb116.tar.bz2
scala-5e23a6ac32394130dd72458c7efe38dbd1ddb116.zip
SI-8411 match desugared partial functions
Diffstat (limited to 'test/files/pos/t8411')
-rw-r--r--test/files/pos/t8411/Macros_1.scala10
-rw-r--r--test/files/pos/t8411/Test_2.scala4
2 files changed, 14 insertions, 0 deletions
diff --git a/test/files/pos/t8411/Macros_1.scala b/test/files/pos/t8411/Macros_1.scala
new file mode 100644
index 0000000000..c5319c559c
--- /dev/null
+++ b/test/files/pos/t8411/Macros_1.scala
@@ -0,0 +1,10 @@
+import scala.language.experimental.macros
+import scala.reflect.macros.blackbox.Context
+
+object Macros {
+ def defaultZeroCase(pf: PartialFunction[Int, Int]): PartialFunction[Int, Int] = macro impl
+ def impl(c: Context)(pf: c.Tree) = { import c.universe._
+ val q"{ case ..$cases }" = pf
+ q"{ case ..$cases case _ => 0 }"
+ }
+}
diff --git a/test/files/pos/t8411/Test_2.scala b/test/files/pos/t8411/Test_2.scala
new file mode 100644
index 0000000000..a0ad30f0f5
--- /dev/null
+++ b/test/files/pos/t8411/Test_2.scala
@@ -0,0 +1,4 @@
+object Test extends App {
+ val pf = Macros.defaultZeroCase { case 1 => 2 }
+ assert(pf(2) == 0)
+}