Description
Look at disabled/simplesams.scala in #509
package test
trait X { def foo(x: Int): Int; def bar = foo(2) }
trait XX extends X
object test {
val x: X = (x: Int) => 2 // should be a closure
val xx: XX = (x: Int) => 2 // should be a closure, but blows up in backend
}
This crashes the backend with
java.lang.AssertionError: assertion failed: not a method-symbol: val
at scala.Predef$.assert(Predef.scala:165)
at scala.tools.nsc.backend.jvm.BCodeHelpers$BCInnerClassGen$class.asmMethodType(BCodeHelpers.scala:253)
at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.asmMethodType(BCodeSkelBuilder.scala:51)
at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genInvokeDynamicLambda(BCodeBodyBuilder.scala:1391)
at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genLoad(BCodeBodyBuilder.scala:324)
at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genStat(BCodeBodyBuilder.scala:78)
at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder$$anonfun$genNormalBlock$1$1.apply(BCodeBodyBuilder.scala:847)
at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder$$anonfun$genNormalBlock$1$1.apply(BCodeBodyBuilder.scala:847)
at scala.collection.immutable.List.foreach(List.scala:381)
at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genNormalBlock$1(BCodeBodyBuilder.scala:847)