diff options
author | Martin Odersky <odersky@gmail.com> | 2007-06-19 12:17:32 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2007-06-19 12:17:32 +0000 |
commit | c184cc70967086343dccef06737b641f9903580c (patch) | |
tree | b028daf6ad1635e8e5d2c4ac320cf1a8163787b3 /test/files | |
parent | 6d5979b71423b55121c582786e5d052c1419ac41 (diff) | |
download | scala-c184cc70967086343dccef06737b641f9903580c.tar.gz scala-c184cc70967086343dccef06737b641f9903580c.tar.bz2 scala-c184cc70967086343dccef06737b641f9903580c.zip |
fixed test file; fixed Long/Long bug
Diffstat (limited to 'test/files')
-rw-r--r-- | test/files/neg/bug987.check | 20 | ||||
-rwxr-xr-x | test/files/run/existentials.scala | 11 |
2 files changed, 25 insertions, 6 deletions
diff --git a/test/files/neg/bug987.check b/test/files/neg/bug987.check index 77e71c9b5e..d850f39fd9 100644 --- a/test/files/neg/bug987.check +++ b/test/files/neg/bug987.check @@ -1,9 +1,19 @@ -bug987.scala:15: error: the type intersection B[D] with B[C] is malformed - --- because --- -no common type instance of base types B[C] and B[D] exists +bug987.scala:15: error: illegal inheritance; + class E inherits different type instances of trait B: +B[C] and B[D] class E extends D ^ -bug987.scala:20: error: illegal cyclic reference involving class E +bug987.scala:20: error: illegal inheritance; + class F inherits different type instances of trait B: +B[C] and B[D] class F extends D ^ -two errors found +bug987.scala:25: error: illegal inheritance; + class D inherits different type instances of trait B: +B[C] and B[D] +abstract class D extends C with B[D] {} + ^ +bug987.scala:25: error: type arguments [D] do not conform to trait B's type parameter bounds [T <: B[T]] +abstract class D extends C with B[D] {} + ^ +four errors found diff --git a/test/files/run/existentials.scala b/test/files/run/existentials.scala index 3d51751996..76dd705380 100755 --- a/test/files/run/existentials.scala +++ b/test/files/run/existentials.scala @@ -12,8 +12,17 @@ trait Counter[T] { def newCounter: T def get(i: T): Int def inc(i: T): T - } +} + +case class C[T](x: T) +object LUB { + def x = C(1) + def y = C("abc") + var coinflip: boolean = _ + def z = if (coinflip) x else y + def zz: C[_1] for_some { type _1 >: Int with java.lang.String } = z +} object Test extends Application { def foo(x : Counter[T] { def name : String } for_some { type T }) = x match { |