summaryrefslogtreecommitdiff
path: root/test/files/run/macro-expand-unapply-a
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2013-10-02 17:21:27 +0200
committerAdriaan Moors <adriaan.moors@typesafe.com>2013-11-12 18:40:01 -0800
commita2b523a39b4e56eb9ab5d9a5639f5b59d425e354 (patch)
tree8d91dd18059b1166d9e7d3ee6a1ab22166d0ae7b /test/files/run/macro-expand-unapply-a
parentce37ae45e22463a3f1a2d659d6699f2977b26c6b (diff)
downloadscala-a2b523a39b4e56eb9ab5d9a5639f5b59d425e354.tar.gz
scala-a2b523a39b4e56eb9ab5d9a5639f5b59d425e354.tar.bz2
scala-a2b523a39b4e56eb9ab5d9a5639f5b59d425e354.zip
blackbox restriction #1: can't refine the official return type
When an application of a blackbox macro expands into a tree `x`, the expansion is wrapped into a type ascription `(x: T)`, where `T` is the declared return type of the blackbox macro with type arguments and path dependencies applied in consistency with the particular macro application being expanded. This invalidates blackbox macros as an implementation vehicle of type providers.
Diffstat (limited to 'test/files/run/macro-expand-unapply-a')
-rw-r--r--test/files/run/macro-expand-unapply-a/Impls_Macros_1.scala4
1 files changed, 2 insertions, 2 deletions
diff --git a/test/files/run/macro-expand-unapply-a/Impls_Macros_1.scala b/test/files/run/macro-expand-unapply-a/Impls_Macros_1.scala
index b837ffc43b..7bfff374e2 100644
--- a/test/files/run/macro-expand-unapply-a/Impls_Macros_1.scala
+++ b/test/files/run/macro-expand-unapply-a/Impls_Macros_1.scala
@@ -1,11 +1,11 @@
-import scala.reflect.macros.BlackboxContext
+import scala.reflect.macros.WhiteboxContext
object Helper {
def unapplySeq[T](x: List[T]): Option[Seq[T]] = List.unapplySeq[T](x)
}
object Macros {
- def impl[T: c.WeakTypeTag](c: BlackboxContext)(x: c.Expr[List[T]]) = {
+ def impl[T: c.WeakTypeTag](c: WhiteboxContext)(x: c.Expr[List[T]]) = {
c.universe.reify(Helper.unapplySeq(x.splice))
}