blob: 32174ad8bfbee503d6fc703674334f1adb3b5a4a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
import scala.language.{ higherKinds }
abstract class A[t[x]] {
def b: t[Int]
}
class B extends A[List] {
// underlying functionality being tested is overriding, but bugs manifest itself during erasure
// erasure should generate two methods: one that returns an Object (to implement the method in A)
// one that is as close as possible to the original method and thus returns a List
// the problem only manifests itself here -- but it's really a problem with overriding
// the link between this method and the method in A isn't seen
def b: List[Int] = List(1)
}
object Test extends App {
Console.println((new B).b(0))
}
|