summaryrefslogtreecommitdiff
path: root/test/pending/pos/t2071.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2009-10-12 09:41:13 +0000
committerMartin Odersky <odersky@gmail.com>2009-10-12 09:41:13 +0000
commitf75ee36c6fb4386eb89f19c40dfa000076aa9307 (patch)
tree1c43adb5b8b194a7a9c14d4ad7cdca04261cda68 /test/pending/pos/t2071.scala
parentbf9ca9a2b7455164c335a48826143749b6b107eb (diff)
downloadscala-f75ee36c6fb4386eb89f19c40dfa000076aa9307.tar.gz
scala-f75ee36c6fb4386eb89f19c40dfa000076aa9307.tar.bz2
scala-f75ee36c6fb4386eb89f19c40dfa000076aa9307.zip
reverted immutable.Vector because it gave rando...
reverted immutable.Vector because it gave random build errors on my machine. Fixed various tickets, updated test and check files.
Diffstat (limited to 'test/pending/pos/t2071.scala')
-rw-r--r--test/pending/pos/t2071.scala7
1 files changed, 7 insertions, 0 deletions
diff --git a/test/pending/pos/t2071.scala b/test/pending/pos/t2071.scala
index a96edb4cfb..a384cdfd3b 100644
--- a/test/pending/pos/t2071.scala
+++ b/test/pending/pos/t2071.scala
@@ -1,3 +1,8 @@
+/**
+ * We still have to evaluate whether we will permit existentials
+ * with cross type dependencies. My current reaction would be no.
+ * Ticket stays open until a decision is made.
+ */
trait Iterable[+S]
trait Box[U]
@@ -8,7 +13,9 @@ trait A {
trait B extends A {
type T <: Iterable[S] forSome { type S <: Box[U]; type U }
}
+/*
But according to SLS, 3.5.1 Type Equivalence: Two existential types (ยง3.2.10) are equivalent if they have the same number of quantifiers, and, after renaming one list of type quantifiers by another, the quantified types as well as lower and upper bounds of corresponding quantifiers are equivalent.
So, every existential type must be equivalent to (and conform to) itself.
Attachments
+*/