From 48e8133cb08a252ea0ec325d4c6537bccb2e0465 Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Wed, 24 Aug 2011 16:49:38 +0000 Subject: Removed and consolidated several redundant test... Removed and consolidated several redundant tests which had filenames "bugXXX" and "tXXX" where XXX == XXX. No review. --- test/files/pos/bug1000.scala | 4 -- test/files/pos/bug1001.scala | 105 ----------------------------------------- test/files/pos/bug1560.scala | 11 ----- test/files/pos/bug2023.scala | 16 ------- test/files/pos/bug2261.scala | 6 --- test/files/pos/bug2619.scala | 80 ------------------------------- test/files/pos/bug2691.scala | 10 ---- test/files/pos/bug3568.scala | 46 ------------------ test/files/pos/bug3688.scala | 7 --- test/files/pos/t1000.scala | 5 ++ test/files/pos/t1001.scala | 109 +++++++++++++++++++++++++++++++++++++++++++ test/files/pos/t2691.scala | 9 +++- test/files/pos/t3688.scala | 5 ++ 13 files changed, 127 insertions(+), 286 deletions(-) delete mode 100644 test/files/pos/bug1000.scala delete mode 100644 test/files/pos/bug1001.scala delete mode 100644 test/files/pos/bug1560.scala delete mode 100644 test/files/pos/bug2023.scala delete mode 100644 test/files/pos/bug2261.scala delete mode 100644 test/files/pos/bug2619.scala delete mode 100644 test/files/pos/bug2691.scala delete mode 100644 test/files/pos/bug3568.scala delete mode 100644 test/files/pos/bug3688.scala diff --git a/test/files/pos/bug1000.scala b/test/files/pos/bug1000.scala deleted file mode 100644 index 93f8201261..0000000000 --- a/test/files/pos/bug1000.scala +++ /dev/null @@ -1,4 +0,0 @@ -object Test extends App { - val xs = Array(1, 2, 3) - Console.println(xs.filter(_ >= 0).length) -} diff --git a/test/files/pos/bug1001.scala b/test/files/pos/bug1001.scala deleted file mode 100644 index 776a334dad..0000000000 --- a/test/files/pos/bug1001.scala +++ /dev/null @@ -1,105 +0,0 @@ -// I suspect the stack overflow is occurring when the compiler is determining the types for the following line at the end of the file:- -// val data = List(N26,N25) - -abstract class A -{ - // commenting out the following line (only) leads to successful compilation - protected val data: List[A] -} - -trait B[T <: B[T]] extends A { self: T => } - -abstract class C extends A -{ - // commenting out the following line (only) leads to successful compilation - protected val data: List[C] -} - -abstract class D extends C with B[D] {} - -abstract class Ee extends C with B[Ee] -{ -} - - -object N1 extends D -{ - val data = Nil -} - -object N2 extends D -{ - val data = Nil -} - -object N5 extends D -{ - val data = List(N1) -} - -object N6 extends D -{ - val data = List(N1) -} - -object N8 extends D -{ - val data = List(N1) -} - -object N10 extends D -{ - val data = Nil -} - -object N13 extends D -{ - val data = List(N2) -} - -object N14 extends D -{ - val data = List(N5,N10,N8) -} - -object N15 extends D -{ - val data = List(N14) -} - -object N16 extends D -{ - val data = List(N13,N6,N15) -} - -object N17 extends D -{ - val data = List(N16) -} - -object N21 extends D -{ - val data = List(N16) -} - -object N22 extends D -{ - val data = List(N17) -} - -object N25 extends D -{ - val data = List(N22) -} - -object N26 extends Ee -{ - val data = List(N21,N17) -} - -// Commenting out the following object (only) leads to successful compilation -object N31 extends Ee -{ - // If we use List[C](N26,N25), we achieve successful compilation - val data = List[C](N26,N25) -} diff --git a/test/files/pos/bug1560.scala b/test/files/pos/bug1560.scala deleted file mode 100644 index cd27fdf0ef..0000000000 --- a/test/files/pos/bug1560.scala +++ /dev/null @@ -1,11 +0,0 @@ -object Test extends App { - trait C[T] { - def t: T - } - - def b: Option[C[_]] = null - - def c = b match { - case Some(b) => b.t - } -} diff --git a/test/files/pos/bug2023.scala b/test/files/pos/bug2023.scala deleted file mode 100644 index 21c6fc96a6..0000000000 --- a/test/files/pos/bug2023.scala +++ /dev/null @@ -1,16 +0,0 @@ -trait C[A] - -object C { - implicit def ipl[A](implicit from: A => Ordered[A]): C[A] = null -} - -object P { - def foo[A](i: A, j: A)(implicit c: C[A]): Unit = () -} - -class ImplicitChainTest { - def testTrivial: Unit = { - P.foo('0', '9') - P.foo('0', '9') - } -} diff --git a/test/files/pos/bug2261.scala b/test/files/pos/bug2261.scala deleted file mode 100644 index fcb9821b69..0000000000 --- a/test/files/pos/bug2261.scala +++ /dev/null @@ -1,6 +0,0 @@ -object Test extends App { - class Bob[T] - implicit def foo2bar[T](xs: List[T]): Bob[T] = new Bob[T] - var x: Bob[Int] = null - x = List(1,2,3) -} diff --git a/test/files/pos/bug2619.scala b/test/files/pos/bug2619.scala deleted file mode 100644 index 283d93bf2b..0000000000 --- a/test/files/pos/bug2619.scala +++ /dev/null @@ -1,80 +0,0 @@ -abstract class F { - final def apply(x: Int): AnyRef = null -} -abstract class AbstractModule { - def as: List[AnyRef] - def ms: List[AbstractModule] - def fs: List[F] = Nil - def rs(x: Int): List[AnyRef] = fs.map(_(x)) -} -abstract class ModuleType1 extends AbstractModule {} -abstract class ModuleType2 extends AbstractModule {} - -object ModuleAE extends ModuleType1 { - def as = Nil - def ms = Nil -} -object ModuleAF extends ModuleType2 { - def as = Nil - def ms = List(ModuleAE) -} -object ModuleAG extends ModuleType1 { - def as = List("") - def ms = Nil -} -object ModuleAI extends ModuleType1 { - def as = Nil - def ms = List(ModuleAE) -} -object ModuleAK extends ModuleType2 { - def as = Nil - def ms = List(ModuleAF) -} -object ModuleAL extends ModuleType1 { - def as = Nil - def ms = List( - ModuleAG, - ModuleAI - ) -} -object ModuleAM extends ModuleType1 { - def as = Nil - def ms = List( - ModuleAL, - ModuleAE - ) ::: List(ModuleAK) -} -object ModuleBE extends ModuleType1 { - def as = Nil - def ms = Nil -} -object ModuleBF extends ModuleType2 { - def as = Nil - def ms = List(ModuleBE) -} -object ModuleBG extends ModuleType1 { - def as = List("") - def ms = Nil -} -object ModuleBI extends ModuleType1 { - def as = Nil - def ms = List(ModuleBE) -} -object ModuleBK extends ModuleType2 { - def as = Nil - def ms = List(ModuleBF) -} -object ModuleBL extends ModuleType1 { - def as = Nil - def ms = List( - ModuleBG, - ModuleBI - ) -} -object ModuleBM extends ModuleType1 { - def as = Nil - def ms = List( - ModuleBL, - ModuleBE - ) ::: List(ModuleBK) -} diff --git a/test/files/pos/bug2691.scala b/test/files/pos/bug2691.scala deleted file mode 100644 index 1037b53601..0000000000 --- a/test/files/pos/bug2691.scala +++ /dev/null @@ -1,10 +0,0 @@ -object Breakdown { - def unapplySeq(x: Int): Some[List[String]] = Some(List("", "there")) -} -object Test { - 42 match { - case Breakdown("") => // needed to trigger bug - case Breakdown("foo") => // needed to trigger bug - case Breakdown("", who) => println ("hello " + who) - } -} diff --git a/test/files/pos/bug3568.scala b/test/files/pos/bug3568.scala deleted file mode 100644 index 7cfb927138..0000000000 --- a/test/files/pos/bug3568.scala +++ /dev/null @@ -1,46 +0,0 @@ -import scala.annotation._ -import scala.annotation.unchecked._ -import scala.collection._ - - -package object buffer { - val broken = new ArrayVec2() // commenting out this line causes the file to compile. - - val works = Class.forName("buffer.ArrayVec2").newInstance().asInstanceOf[ArrayVec2] -} - -package buffer { - object Main { - // ArrayVec2 can be compiled, instantiated and used. - def main(args: Array[String]) { println(works) } - } - - trait ElemType { type Element; type Component <: ElemType } - trait Float1 extends ElemType { type Element = Float; type Component = Float1} - class Vec2 extends ElemType { type Element = Vec2; type Component = Float1 } - - abstract class BaseSeq[T <: ElemType, E] - extends IndexedSeq[E] with IndexedSeqOptimized[E, IndexedSeq[E]] { - def length = 1 - def apply(i: Int) :E - } - - abstract class GenericSeq[T <: ElemType] extends BaseSeq[T, T#Element] - trait DataArray[T <: ElemType] extends BaseSeq[T, T#Element] - trait DataView[T <: ElemType] extends BaseSeq[T, T#Element] - abstract class BaseFloat1 extends BaseSeq[Float1, Float] - - class ArrayFloat1 extends BaseFloat1 with DataArray[Float1] { - def apply(i: Int) :Float = 0f - } - - class ViewFloat1 extends BaseFloat1 with DataView[Float1] { - def apply(i: Int) :Float = 0f - } - - class ArrayVec2(val backingSeq: ArrayFloat1) - extends GenericSeq[Vec2] with DataArray[Vec2] { - def this() = this(new ArrayFloat1) - def apply(i: Int) :Vec2 = null - } -} \ No newline at end of file diff --git a/test/files/pos/bug3688.scala b/test/files/pos/bug3688.scala deleted file mode 100644 index e481db3587..0000000000 --- a/test/files/pos/bug3688.scala +++ /dev/null @@ -1,7 +0,0 @@ -import collection.JavaConversions._ -import java.{ util => ju } - -object Test { - def m[P <% ju.List[Int]](l: P) = 1 - m(List(1)) // bug: should compile -} \ No newline at end of file diff --git a/test/files/pos/t1000.scala b/test/files/pos/t1000.scala index 38f71863d8..613af76b94 100644 --- a/test/files/pos/t1000.scala +++ b/test/files/pos/t1000.scala @@ -1,3 +1,8 @@ object A { println("""This a "raw" string ending with a "double quote"""") } + +object Test extends App { + val xs = Array(1, 2, 3) + Console.println(xs.filter(_ >= 0).length) +} diff --git a/test/files/pos/t1001.scala b/test/files/pos/t1001.scala index 88321e6e8e..4312e25351 100644 --- a/test/files/pos/t1001.scala +++ b/test/files/pos/t1001.scala @@ -1,6 +1,115 @@ +// was t1001.scala class Foo; object Overload{ val foo = classOf[Foo].getConstructors()(0) foo.getDeclaringClass } + +// was bug1001.scala + +// I suspect the stack overflow is occurring when the compiler is determining the types for the following line at the end of the file:- +// val data = List(N26,N25) + +abstract class A +{ + // commenting out the following line (only) leads to successful compilation + protected val data: List[A] +} + +trait B[T <: B[T]] extends A { self: T => } + +abstract class C extends A +{ + // commenting out the following line (only) leads to successful compilation + protected val data: List[C] +} + +abstract class D extends C with B[D] {} + +abstract class Ee extends C with B[Ee] +{ +} + + +object N1 extends D +{ + val data = Nil +} + +object N2 extends D +{ + val data = Nil +} + +object N5 extends D +{ + val data = List(N1) +} + +object N6 extends D +{ + val data = List(N1) +} + +object N8 extends D +{ + val data = List(N1) +} + +object N10 extends D +{ + val data = Nil +} + +object N13 extends D +{ + val data = List(N2) +} + +object N14 extends D +{ + val data = List(N5,N10,N8) +} + +object N15 extends D +{ + val data = List(N14) +} + +object N16 extends D +{ + val data = List(N13,N6,N15) +} + +object N17 extends D +{ + val data = List(N16) +} + +object N21 extends D +{ + val data = List(N16) +} + +object N22 extends D +{ + val data = List(N17) +} + +object N25 extends D +{ + val data = List(N22) +} + +object N26 extends Ee +{ + val data = List(N21,N17) +} + +// Commenting out the following object (only) leads to successful compilation +object N31 extends Ee +{ + // If we use List[C](N26,N25), we achieve successful compilation + val data = List[C](N26,N25) +} diff --git a/test/files/pos/t2691.scala b/test/files/pos/t2691.scala index ba2e52f1fe..5f0ddd122f 100644 --- a/test/files/pos/t2691.scala +++ b/test/files/pos/t2691.scala @@ -6,4 +6,11 @@ object Test { case Breakdown("") => // needed to trigger bug case Breakdown("", who) => println ("hello " + who) } -} \ No newline at end of file +} +object Test2 { + 42 match { + case Breakdown("") => // needed to trigger bug + case Breakdown("foo") => // needed to trigger bug + case Breakdown("", who) => println ("hello " + who) + } +} diff --git a/test/files/pos/t3688.scala b/test/files/pos/t3688.scala index 0ac1cfe514..d15e9d1a84 100644 --- a/test/files/pos/t3688.scala +++ b/test/files/pos/t3688.scala @@ -7,3 +7,8 @@ object Test { implicitly[mutable.Map[Int, String] => ju.Dictionary[Int, String]] } + +object Test2 { + def m[P <% ju.List[Int]](l: P) = 1 + m(List(1)) // bug: should compile +} \ No newline at end of file -- cgit v1.2.3