diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2012-09-23 18:58:50 +0200 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2012-09-24 14:28:58 +0200 |
commit | 291d1f033a790e97298210de29f09a9796406ae3 (patch) | |
tree | 4e3e6d564f1e3c7877fa512d867389eddc2fab16 /test/files | |
parent | 6ba05fdf09e8ff81dda1b946d9f89b2bba9ad33b (diff) | |
download | scala-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')
-rw-r--r-- | test/files/run/reflection-mem-glbs.scala | 13 | ||||
-rw-r--r-- | test/files/run/reflection-mem-tags.scala | 17 |
2 files changed, 30 insertions, 0 deletions
diff --git a/test/files/run/reflection-mem-glbs.scala b/test/files/run/reflection-mem-glbs.scala new file mode 100644 index 0000000000..3f29a914bc --- /dev/null +++ b/test/files/run/reflection-mem-glbs.scala @@ -0,0 +1,13 @@ +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 = 50000 + override def calc() { + import scala.reflect.runtime.universe._ + glb(List(typeOf[A], typeOf[B])) + } +}
\ No newline at end of file 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 |