summaryrefslogtreecommitdiff
path: root/test/pending/pos/t2173.scala
blob: 9a9a2edce4fd66453c746fa640b1fdb9e4fc62d8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
This (somewhat convoluted) code fails to compile

class A[+U>:Null] {

    type R[+X>:Null] = X type O[+X] = A[R[X]]

}

with the following error:

type arguments [A.this.R[X]] do not conform to class A's type parameter bounds [+U >: Null]

However, because type R[+X>:Null] is identical to X, it should carry X bounds and R[X] lower bound should be known to be X's lower bound, i.e. Null.

The same problem occurs with upper bounds.