blob: a5259c4da1f032dd233b6d5e530924a84f689efa (
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
|
class C[+A] {
private[this] var y: A = _
def getY: A = y
class Inner(x: A) { // error A appears contravariantly
y = x
}
class Inner2[B <: A](x: B) { // error A appears contravariantly
y = x
}
}
object Test {
def main(args: Array[String]) = {
val x = new C[String]
val y: C[Any] = x
val i = new y.Inner(1)
val s: String = x.getY
val i2 = new y.Inner2(1)
val s2: String = x.getY
println(s)
}
}
|