summaryrefslogtreecommitdiff
path: root/test/pending/pos/t2173.scala
diff options
context:
space:
mode:
Diffstat (limited to 'test/pending/pos/t2173.scala')
-rw-r--r--test/pending/pos/t2173.scala17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/pending/pos/t2173.scala b/test/pending/pos/t2173.scala
new file mode 100644
index 0000000000..9a9a2edce4
--- /dev/null
+++ b/test/pending/pos/t2173.scala
@@ -0,0 +1,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.