summaryrefslogtreecommitdiff
path: root/test/pending/run/idempotency-partial-functions.scala
blob: c9d650ca89ba5a78ef6f271c417fbf645cbf8abe (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
27
28
import scala.reflect.runtime.universe._
import scala.reflect.runtime.{currentMirror => cm}
import scala.tools.reflect.{ToolBox, ToolBoxError}
import scala.tools.reflect.Eval

// Related to SI-6187
//
// Moved to pending as we are currently blocked by the inability
// to reify the parent types of the anonymous function class,
// which are not part of the tree, but rather only part of the
// ClassInfoType.
object Test extends App {
  val partials = reify {
    List((false,true)) collect { case (x,true) => x }
  }
  println(Seq(show(partials), showRaw(partials)).mkString("\n\n"))
  try {
    println(partials.eval)
  } catch {
    case e: ToolBoxError => println(e)
  }
  val tb = cm.mkToolBox()
  val tpartials = tb.typecheck(partials.tree)
  println(tpartials)
  val rtpartials = tb.untypecheck(tpartials)
  println(tb.eval(rtpartials))
}
Test.main(null)