diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2013-10-02 17:21:27 +0200 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2013-11-12 18:40:01 -0800 |
commit | a2b523a39b4e56eb9ab5d9a5639f5b59d425e354 (patch) | |
tree | 8d91dd18059b1166d9e7d3ee6a1ab22166d0ae7b /test/files/run/macro-bodyexpandstoimpl/Impls_1.scala | |
parent | ce37ae45e22463a3f1a2d659d6699f2977b26c6b (diff) | |
download | scala-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-bodyexpandstoimpl/Impls_1.scala')
-rw-r--r-- | test/files/run/macro-bodyexpandstoimpl/Impls_1.scala | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/test/files/run/macro-bodyexpandstoimpl/Impls_1.scala b/test/files/run/macro-bodyexpandstoimpl/Impls_1.scala index 9af3b18ccb..0a9f9a0ced 100644 --- a/test/files/run/macro-bodyexpandstoimpl/Impls_1.scala +++ b/test/files/run/macro-bodyexpandstoimpl/Impls_1.scala @@ -1,11 +1,11 @@ import scala.language.experimental.macros -import scala.reflect.macros.BlackboxContext +import scala.reflect.macros.{BlackboxContext, WhiteboxContext} object Impls { def foo(c: BlackboxContext)(x: c.Expr[Int]) = x def refToFoo(dummy: Int) = macro refToFoo_impl - def refToFoo_impl(c: BlackboxContext)(dummy: c.Expr[Int]) = { + def refToFoo_impl(c: WhiteboxContext)(dummy: c.Expr[Int]) = { import c.universe._ val body = Select(Ident(TermName("Impls")), TermName("foo")) val global = c.universe.asInstanceOf[scala.tools.nsc.Global] |