blob: 817224e0433a99e409227b18d7ba5d14c413ad7d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
trait A {
type D >: Null <: C
def foo(d: D)(a: Any, d2: d.type): Unit
trait C {
def bar: Unit = foo(null)(null, null)
}
}
object B extends A {
class D extends C
def foo(d: D)(a: Any, d2: d.type): Unit = () // Bridge method required here!
// No bridge method should be added, but we'll be happy enough if
// the "same type after erasure" error kicks in before the duplicated
// bridge causes a problem.
def foo(d: D)(a: Any)(d2: d.type): Unit = ()
}
object Test extends App {
new B.D().bar
}
|