Here is the tree after uncurry:
[[Trees after phase uncurry]]
// Scala source: tmp/test.scala
final class test() extends scala.Object() {
final def f(x: scala.Object): java.lang.Object = {
{
class $anon() extends scala.Object() with scala.Function1[(scala.All) => scala.All, scala.All]() {
final def apply(v0: (scala.All) => scala.All): scala.All = v0.apply(x)
};
new $anon()
}
}
};
final /*object*/ val test: test = new test();
The argument v0 has type (scala.All) => scala.All and the argument x \
has type scala.Object so the expression v0.apply(x) is illegal.
|