summaryrefslogtreecommitdiff
path: root/test/files/run/t5334_2.scala
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2012-02-05 16:56:48 +0100
committerEugene Burmako <xeno.by@gmail.com>2012-02-05 17:02:11 +0100
commit75696bc3d310a53594d97853f38bb0dbfef42390 (patch)
treecabebd3ab2cfbdf7a3d4f1969ead4b2c4055c6f8 /test/files/run/t5334_2.scala
parentffc2389840852a120fecd772206d55db9a79f30e (diff)
downloadscala-75696bc3d310a53594d97853f38bb0dbfef42390.tar.gz
scala-75696bc3d310a53594d97853f38bb0dbfef42390.tar.bz2
scala-75696bc3d310a53594d97853f38bb0dbfef42390.zip
Fixes https://issues.scala-lang.org/browse/SI-5334
New version of reification isn't susceptible to this bug. The problem was with Code.lift generating not only a tree, but also a manifest with the type of that tree. That led to an issue in the case of the type of the manifest depending on a class declared inside the quasiquote. Now manifests in reification are gone, so is the problem.
Diffstat (limited to 'test/files/run/t5334_2.scala')
-rw-r--r--test/files/run/t5334_2.scala16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/files/run/t5334_2.scala b/test/files/run/t5334_2.scala
new file mode 100644
index 0000000000..26f0778400
--- /dev/null
+++ b/test/files/run/t5334_2.scala
@@ -0,0 +1,16 @@
+import scala.tools.nsc.reporters._
+import scala.tools.nsc.Settings
+import reflect.runtime.Mirror.ToolBox
+
+object Test extends App {
+ val code = scala.reflect.Code.lift{
+ class C { override def toString() = "C" }
+ List((new C, new C))
+ };
+
+ val reporter = new ConsoleReporter(new Settings)
+ val toolbox = new ToolBox(reporter)
+ val ttree = toolbox.typeCheck(code.tree)
+ println(ttree.tpe)
+ println(toolbox.runExpr(ttree))
+}