summaryrefslogtreecommitdiff
path: root/test/pending/run/reflection-mem-eval.scala
blob: 9045c44cd659955a41d3caf8218fe39f2d0da32f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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))
  }
}