From f75ee36c6fb4386eb89f19c40dfa000076aa9307 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Mon, 12 Oct 2009 09:41:13 +0000 Subject: 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. --- test/pending/pos/t2071.scala | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'test/pending/pos/t2071.scala') 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 +*/ -- cgit v1.2.3