summaryrefslogtreecommitdiff
path: root/test/files/run/reflection-mem-tags.scala
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2012-09-23 18:58:50 +0200
committerEugene Burmako <xeno.by@gmail.com>2012-09-24 14:28:58 +0200
commit291d1f033a790e97298210de29f09a9796406ae3 (patch)
tree4e3e6d564f1e3c7877fa512d867389eddc2fab16 /test/files/run/reflection-mem-tags.scala
parent6ba05fdf09e8ff81dda1b946d9f89b2bba9ad33b (diff)
downloadscala-291d1f033a790e97298210de29f09a9796406ae3.tar.gz
scala-291d1f033a790e97298210de29f09a9796406ae3.tar.bz2
scala-291d1f033a790e97298210de29f09a9796406ae3.zip
SI-6412 fixes leaks in Types.uniques
This is the most blatant leak in reflection. There are others, but their impact is much smaller, therefore we'll fix them later, after 2.10.0-final. For more information, see https://issues.scala-lang.org/browse/SI-6412 and http://groups.google.com/group/scala-internals/browse_thread/thread/eabcf3d406dab8b2
Diffstat (limited to 'test/files/run/reflection-mem-tags.scala')
-rw-r--r--test/files/run/reflection-mem-tags.scala17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/files/run/reflection-mem-tags.scala b/test/files/run/reflection-mem-tags.scala
new file mode 100644
index 0000000000..8815e7dcd8
--- /dev/null
+++ b/test/files/run/reflection-mem-tags.scala
@@ -0,0 +1,17 @@
+import scala.tools.partest.MemoryTest
+
+trait A { type T <: A }
+trait B { type T <: B }
+
+object Test extends MemoryTest {
+ override def maxDelta = 10
+ override def calcsPerIter = 100000
+ override def calc() {
+ import scala.reflect.runtime.universe._
+ def foo = {
+ class A { def x = 2; def y: A = new A }
+ weakTypeOf[A { def z: Int }]
+ }
+ foo
+ }
+} \ No newline at end of file