diff options
Diffstat (limited to 'test/files/run/reify_closure3a.scala')
-rw-r--r-- | test/files/run/reify_closure3a.scala | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/files/run/reify_closure3a.scala b/test/files/run/reify_closure3a.scala new file mode 100644 index 0000000000..d322b970b6 --- /dev/null +++ b/test/files/run/reify_closure3a.scala @@ -0,0 +1,21 @@ +import scala.tools.nsc.reporters._ +import scala.tools.nsc.Settings +import reflect.runtime.Mirror.ToolBox + +object Test extends App { + def foo(y: Int): Int => Int = { + def y1 = y + + val fun = reflect.Code.lift{(x: Int) => { + x + y1 + }} + + val reporter = new ConsoleReporter(new Settings) + val toolbox = new ToolBox(reporter) + val dyn = toolbox.runExpr(fun.tree) + dyn.asInstanceOf[Int => Int] + } + + println(foo(1)(10)) + println(foo(2)(10)) +} |