summaryrefslogtreecommitdiff
path: root/test/pending
diff options
context:
space:
mode:
authorGrzegorz Kossakowski <grzegorz.kossakowski@gmail.com>2012-09-27 06:39:43 -0700
committerGrzegorz Kossakowski <grzegorz.kossakowski@gmail.com>2012-09-27 06:39:43 -0700
commit709bb01175c512d124da9874dcaea50022374715 (patch)
tree6167a8ca983302dc4c4e9f872a5fffcfa4efb021 /test/pending
parent1d072fcb41aa1b0c0f09e9a4b16e56628a91465b (diff)
parent8c7d94ef9eea927088392fd2d0e6bb37f0641ad5 (diff)
downloadscala-709bb01175c512d124da9874dcaea50022374715.tar.gz
scala-709bb01175c512d124da9874dcaea50022374715.tar.bz2
scala-709bb01175c512d124da9874dcaea50022374715.zip
Merge pull request #1393 from scalamacros/topic/leaks-in-toolboxes
SI-6412 alleviates leaks in toolboxes, attempt #2
Diffstat (limited to 'test/pending')
-rw-r--r--test/pending/run/reflection-mem-eval.scala26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/pending/run/reflection-mem-eval.scala b/test/pending/run/reflection-mem-eval.scala
new file mode 100644
index 0000000000..9045c44cd6
--- /dev/null
+++ b/test/pending/run/reflection-mem-eval.scala
@@ -0,0 +1,26 @@
+import scala.tools.partest.MemoryTest
+
+trait A { type T <: A }
+trait B { type T <: B }
+
+object Test extends MemoryTest {
+ lazy val tb = {
+ import scala.reflect.runtime.universe._
+ import scala.reflect.runtime.{currentMirror => cm}
+ import scala.tools.reflect.ToolBox
+ cm.mkToolBox()
+ }
+
+ override def maxDelta = 10
+ override def calcsPerIter = 3
+ override def calc() {
+ var snippet = """
+ trait A { type T <: A }
+ trait B { type T <: B }
+ def foo[T](x: List[T]) = x
+ foo(List(new A {}, new B {}))
+ """.trim
+ snippet = snippet + "\n" + (List.fill(50)(snippet.split("\n").last) mkString "\n")
+ tb.eval(tb.parse(snippet))
+ }
+} \ No newline at end of file