diff options
Diffstat (limited to 'tests/pending/pos')
189 files changed, 8 insertions, 3607 deletions
diff --git a/tests/pending/pos/IterableSelfRec.scala b/tests/pending/pos/IterableSelfRec.scala deleted file mode 100644 index a97833991..000000000 --- a/tests/pending/pos/IterableSelfRec.scala +++ /dev/null @@ -1,52 +0,0 @@ -package dotty.collection -package immutable - -import annotation.unchecked.uncheckedVariance - -trait Collection[T] { self => - type This <: Collection { type This <: self.This } - def companion: CollectionCompanion[This] -} - -trait Iterable[T] extends Collection[T] { self => - type This <: Iterable { type This <: self.This } - override def companion: IterableCompanion[This] = Iterable.asInstanceOf - - def iterator: Iterator[T] -} - -trait Seq[T] extends Iterable[T] { self => - type This <: Seq { type This <: self.This } - override def companion: IterableCompanion[This] = Seq.asInstanceOf - - def apply(x: Int): T -} - -abstract class CollectionCompanion[+CC[X] <: Collection[X] { type This <: CC }] - -abstract class IterableCompanion[+CC[X] <: Iterable[X] { type This <: CC }] extends CollectionCompanion[CC] { - def fromIterator[T](it: Iterator[T]): CC[T] - def map[T, U](xs: Iterable[T], f: T => U): CC[U] = - fromIterator(xs.iterator.map(f)) - def filter[T](xs: Iterable[T], p: T => Boolean): CC[T] = - fromIterator(xs.iterator.filter(p)) - def flatMap[T, U](xs: Iterable[T], f: T => TraversableOnce[U]): CC[U] = - fromIterator(xs.iterator.flatMap(f)) - - implicit def transformOps[T](xs: CC[T] @uncheckedVariance): TransformOps[CC, T] = ??? // new TransformOps[CC, T](xs) -} - -class TransformOps[+CC[X] <: Iterable[X] { type This <: CC }, T] (val xs: CC[T]) extends AnyVal { - def companion[T](xs: CC[T] @uncheckedVariance): IterableCompanion[CC] = xs.companion - def map[U](f: T => U): CC[U] = companion(xs).map(xs, f) - def filter(p: T => Boolean): CC[T] = companion(xs).filter(xs, p) - def flatMap[U](f: T => TraversableOnce[U]): CC[U] = companion(xs).flatMap(xs, f) -} - -object Iterable extends IterableCompanion[Iterable] { - def fromIterator[T](it: Iterator[T]): Iterable[T] = ??? -} -object Seq extends IterableCompanion[Seq] { - def fromIterator[T](it: Iterator[T]): Seq[T] = ??? -} - diff --git a/tests/pending/pos/constfold.scala b/tests/pending/pos/constfold.scala deleted file mode 100644 index 8d431efba..000000000 --- a/tests/pending/pos/constfold.scala +++ /dev/null @@ -1,14 +0,0 @@ -object A { - val x = 2; - val y = x.asInstanceOf[Byte]; - val z = 1.0 / 2; - val s = "z is " + z; -} - -object Test extends App { - - Console.println(A.x); - Console.println(A.y); - Console.println(A.z); - Console.println(A.s); -} diff --git a/tests/pending/pos/contextbounds-implicits-new.scala b/tests/pending/pos/contextbounds-implicits-new.scala deleted file mode 100644 index 8389d1332..000000000 --- a/tests/pending/pos/contextbounds-implicits-new.scala +++ /dev/null @@ -1,10 +0,0 @@ -import scala.reflect.runtime.universe._ - -/* Tests implicit parameters in the presence of context bounds. - * See Section 7.4 of the Scala Language Specification. - */ -class C { - - def f[T: TypeTag, S: TypeTag](x: T, y: S)(implicit p: C): Unit = { } - -} diff --git a/tests/pending/pos/contrib701.scala b/tests/pending/pos/contrib701.scala deleted file mode 100644 index 6f0e53a36..000000000 --- a/tests/pending/pos/contrib701.scala +++ /dev/null @@ -1,3 +0,0 @@ -trait B { - type A[T] >: A[A[T]] -} diff --git a/tests/pending/pos/cycle-jsoup.flags b/tests/pending/pos/cycle-jsoup.flags deleted file mode 100644 index ca20f5517..000000000 --- a/tests/pending/pos/cycle-jsoup.flags +++ /dev/null @@ -1 +0,0 @@ --Ybreak-cycles diff --git a/tests/pending/pos/cycle-jsoup.scala b/tests/pending/pos/cycle-jsoup.scala deleted file mode 100644 index d547ecd93..000000000 --- a/tests/pending/pos/cycle-jsoup.scala +++ /dev/null @@ -1,5 +0,0 @@ -object Test { - def main(args : Array[String]): Unit = { - org.jsoup.Jsoup.parse(null: java.net.URL, 3000) - } -} diff --git a/tests/pending/pos/delambdafy-lambdalift.scala b/tests/pending/pos/delambdafy-lambdalift.scala deleted file mode 100644 index e9da24ef3..000000000 --- a/tests/pending/pos/delambdafy-lambdalift.scala +++ /dev/null @@ -1,8 +0,0 @@ -class LambdaLift { - - def enclosingMethod(capturedArg: Int): Unit = { - def innerMethod(x: Int): Int = x + capturedArg - val f = (y: Int) => innerMethod(y) - } - -} diff --git a/tests/pending/pos/depexists.scala b/tests/pending/pos/depexists.scala deleted file mode 100644 index dff1917a4..000000000 --- a/tests/pending/pos/depexists.scala +++ /dev/null @@ -1,5 +0,0 @@ -object depexists { - - val c: Option[(a, b)] forSome { type a <: Number; type b <: (a, a) } = null - val d = c -} diff --git a/tests/pending/pos/dotless-targs.scala b/tests/pending/pos/dotless-targs.scala deleted file mode 100644 index 8c0e244e4..000000000 --- a/tests/pending/pos/dotless-targs.scala +++ /dev/null @@ -1,9 +0,0 @@ -class A { - def fn1 = List apply 1 - def fn2 = List apply[Int] 2 - - def g1: Char = "g1" toList 0 - def g2: Char = "g2" apply 1 - - def h1 = List apply[List[Int]] (List(1), List(2)) mapConserve[List[Any]] (x => x) -} diff --git a/tests/pending/pos/exbound.scala b/tests/pending/pos/exbound.scala deleted file mode 100644 index be78abc26..000000000 --- a/tests/pending/pos/exbound.scala +++ /dev/null @@ -1,7 +0,0 @@ -class A[T <: A[T]] { - -} - -object Test { - val x: A[_] = null -} diff --git a/tests/pending/pos/five-dot-f.flags b/tests/pending/pos/five-dot-f.flags deleted file mode 100644 index 112fc720a..000000000 --- a/tests/pending/pos/five-dot-f.flags +++ /dev/null @@ -1 +0,0 @@ --Xfuture
\ No newline at end of file diff --git a/tests/pending/pos/five-dot-f.scala b/tests/pending/pos/five-dot-f.scala deleted file mode 100644 index 8a7f86e21..000000000 --- a/tests/pending/pos/five-dot-f.scala +++ /dev/null @@ -1,5 +0,0 @@ -class C { - implicit def ffer(x: Int) = new { def f : Long = 123L } - - val x1: Long = 5.f -} diff --git a/tests/pending/pos/functions.scala b/tests/pending/pos/functions.scala deleted file mode 100644 index 0207523dd..000000000 --- a/tests/pending/pos/functions.scala +++ /dev/null @@ -1,12 +0,0 @@ -import scala.actors.Actor - -object Test { - - def foo() = { - val x = 1; - Actor.receive { - case "abc" if x == 2 => - Console.println("hi!") - } - } -} diff --git a/tests/pending/pos/generic-sigs.scala b/tests/pending/pos/generic-sigs.scala deleted file mode 100644 index b751e215e..000000000 --- a/tests/pending/pos/generic-sigs.scala +++ /dev/null @@ -1,20 +0,0 @@ -import language.existentials - -object A { - def f1 = List(classOf[Int], classOf[String]) - def f2 = List(classOf[String], classOf[Int]) - def f3(x: Class[_ <: Int]) = x - def f4(x: Class[_ <: String with Int]) = x - def f5(x: Class[_ <: Int with String]) = x - - class Bippy[T] - def f6(x: Int) = new Bippy[t forSome { type t <: Int }] - def f7(x: T forSome { type T <: Float }) = x - def f8(x: T forSome { type T <: Unit }) = x - def f9(x: T forSome { type T <: scala.runtime.BoxedUnit }) = x - def f10(x: Int) = new Bippy[t forSome { type t <: Unit }] - def f11(x: Int) = new Bippy[t forSome { type t >: Null }] - - class Boppy[+T1,-T2] - def g1 = new Boppy[t forSome { type t <: Int }, u forSome { type u <: String }] -} diff --git a/tests/pending/pos/hklub0.scala b/tests/pending/pos/hklub0.scala deleted file mode 100644 index 36cd46332..000000000 --- a/tests/pending/pos/hklub0.scala +++ /dev/null @@ -1,5 +0,0 @@ -object Test { - val a : scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq] = null - val b : scala.collection.generic.GenericCompanion[scala.collection.mutable.Seq] = null - List(a, b) // immutable.this.List.apply[scala.collection.generic.GenericCompanion[Seq]](Test.this.a, Test.this.b) -} diff --git a/tests/pending/pos/imports-pos.scala b/tests/pending/pos/imports-pos.scala deleted file mode 100644 index f6a55e5e0..000000000 --- a/tests/pending/pos/imports-pos.scala +++ /dev/null @@ -1,16 +0,0 @@ -package test; - -import java.lang.{System => S} - -object test { - import S.out.{print => p, println => print} - - val foo = 1; - - p("hello"); print("world"); S.out.println("!"); - S.out.flush(); -} -object test1 { - import test._; - foo -} diff --git a/tests/pending/pos/infer2-pos.scala b/tests/pending/pos/infer2-pos.scala deleted file mode 100644 index 2ce88be54..000000000 --- a/tests/pending/pos/infer2-pos.scala +++ /dev/null @@ -1,7 +0,0 @@ -package test -class Lst[T] -case class cons[T](x: T, xs: Lst[T]) extends Lst[T] -case class nil[T]() extends Lst[T] -object test { - Console.println(cons(1, nil())) -} diff --git a/tests/pending/pos/looping-jsig.scala b/tests/pending/pos/looping-jsig.scala deleted file mode 100644 index 6e3313c46..000000000 --- a/tests/pending/pos/looping-jsig.scala +++ /dev/null @@ -1,18 +0,0 @@ -import scala.collection.mutable._ - -trait BugTrack { - trait B[+T] - val cache : HashMap[A[_], B[_]] = HashMap.empty - - def A[T](f: Int => B[T]): A[T] - = new A[T]{def apply(in: Int) = f(in)} - - abstract class A[+T] extends (Int => B[T]) { - def giveMeSame = this - } - - def amethod[T](p: =>A[T]): A[T] = A(in => cache.get(p) match { - case Some(res) => res - case None => p(in) - }).giveMeSame.asInstanceOf[A[T]] -} diff --git a/tests/pending/pos/matthias1.scala b/tests/pending/pos/matthias1.scala deleted file mode 100644 index a923a529f..000000000 --- a/tests/pending/pos/matthias1.scala +++ /dev/null @@ -1,15 +0,0 @@ -class A() { - class B() { - def foo(x: B) = 0 - } -} -object test { - def main = { - val a = new A(); - val b = new a.B(); - val c = new a.B(); - val d = b.foo(c); - () - } -} - diff --git a/tests/pending/pos/michel6.scala b/tests/pending/pos/michel6.scala deleted file mode 100644 index b32e8bed7..000000000 --- a/tests/pending/pos/michel6.scala +++ /dev/null @@ -1,6 +0,0 @@ -object M { - def f(x: Int): Unit = {} - - def g(): Int => Unit = - if (0 == 0) f else g() - } diff --git a/tests/pending/pos/moduletrans.scala b/tests/pending/pos/moduletrans.scala deleted file mode 100644 index 51538417e..000000000 --- a/tests/pending/pos/moduletrans.scala +++ /dev/null @@ -1,8 +0,0 @@ -object m1 { - - class m() { - def f() = 5 - } - final val m: m = new m() - -} diff --git a/tests/pending/pos/package-implicit/ActorRef.scala b/tests/pending/pos/package-implicit/ActorRef.scala deleted file mode 100644 index de57e61ce..000000000 --- a/tests/pending/pos/package-implicit/ActorRef.scala +++ /dev/null @@ -1,7 +0,0 @@ -package t1000647.foo - -trait ActorRef { - def stop(): Unit = {} -} - -trait ScalaActorRef { self: ActorRef => } diff --git a/tests/pending/pos/package-implicit/DataFlow.scala b/tests/pending/pos/package-implicit/DataFlow.scala deleted file mode 100644 index d948280d0..000000000 --- a/tests/pending/pos/package-implicit/DataFlow.scala +++ /dev/null @@ -1,7 +0,0 @@ -package t1000647.bar - -import t1000647.foo.{ScalaActorRef} - -object DataFlow { - def foo(ref: ScalaActorRef) = ref.stop() -} diff --git a/tests/pending/pos/package-implicit/package.scala b/tests/pending/pos/package-implicit/package.scala deleted file mode 100644 index d0f28b36b..000000000 --- a/tests/pending/pos/package-implicit/package.scala +++ /dev/null @@ -1,6 +0,0 @@ -package t1000647 - -package object foo { - implicit def scala2ActorRef(ref: ScalaActorRef): ActorRef = - ref.asInstanceOf[ActorRef] -} diff --git a/tests/pending/pos/patmat.scala b/tests/pending/pos/patmat.scala deleted file mode 100644 index 53e1c5f1f..000000000 --- a/tests/pending/pos/patmat.scala +++ /dev/null @@ -1,163 +0,0 @@ -// these used to be in test/files/run/patmatnew.scala -// the ticket numbers are from the old tracker, not Trac - -object ZipFun { - //just compilation - def zipFun[a, b](xs: List[a], ys: List[b]): List[Tuple2[a, b]] = ((xs, ys): @unchecked) match { - // !!! case (List(), _), (_, List()) => List() - case (x :: xs1, y :: ys1) => (x, y) :: zipFun(xs1, ys1) - } -} - -object Test1253 { // compile-only - def foo(t: (Int, String)) = t match { - case (1, "") => throw new Exception - case (r, _) => throw new Exception(r.toString) - } -} - -object Foo1258 { - case object baz - def foo(bar: AnyRef) = { - val Baz = baz - bar match { - case Baz => () - } - } -} - -object t1261 { - sealed trait Elem - case class Foo() extends Elem - case class Bar() extends Elem - trait Row extends Elem - object Row { - def unapply(r: Row) = true - - def f(elem: Elem): Unit = { - elem match { - case Bar() => ; - case Row() => ; - case Foo() => ; // used to give ERROR (unreachable code) - } - } - } -} - -sealed abstract class Tree -case class Node(l: Tree, v: Int, r: Tree) extends Tree -case object EmptyTree extends Tree - -object Ticket335 { // compile-only - def runTest(): Unit = { - (EmptyTree: Tree @unchecked) match { - case Node(_, v, _) if (v == 0) => 0 - case EmptyTree => 2 - } - } -} - -object TestIfOpt { //compile-only "test EqualsPatternClass in combination with MixTypes opt, bug #1278" - trait Token { - val offset: Int - def matching: Option[Token] - } - def go(tok: Token) = (tok.matching: @unchecked) match { - case Some(other) if true => Some(other) - case _ if true => tok.matching match { - case Some(other) => Some(other) - case _ => None - } - } -} - -object Go { // bug #1277 compile-only - trait Core { def next: Position = null } - trait Dir - val NEXT = new Dir {} - - trait Position extends Core - - (null: Core, null: Dir) match { - case (_, NEXT) if true => false // no matter whether NEXT test succeed, cannot throw column because of guard - case (at2: Position, dir) => true - } -} - -trait Outer { // bug #1282 compile-only - object No - trait File { - (null: AnyRef) match { - case No => false - } - } -} - -class Test806_818 { // #806, #811 compile only -- type of bind - // t811 - trait Core { - trait NodeImpl - trait OtherImpl extends NodeImpl - trait DoubleQuoteImpl extends NodeImpl - def asDQ(node: OtherImpl) = node match { - case dq: DoubleQuoteImpl => dq - } - } - - trait IfElseMatcher { - type Node <: NodeImpl - trait NodeImpl - trait IfImpl - private def coerceIf(node: Node) = node match { - case node: IfImpl => node // var node is of type Node with IfImpl! - case _ => null - } - } -} - -object Ticket495bis { - def signum(x: Int): Int = - x match { - case 0 => 0 - case _ if x < 0 => -1 - case _ if x > 0 => 1 - } - def pair_m(x: Int, y: Int) = - (x, y) match { - case (_, 0) => 0 - case (-1, _) => -1 - case (_, _) => 1 - } -} - -object Ticket522 { - class Term[X] - object App { - // i'm hidden - case class InternalApply[Y, Z](fun: Y => Z, arg: Y) extends Term[Z] - - def apply[Y, Z](fun: Y => Z, arg: Y): Term[Z] = - new InternalApply[Y, Z](fun, arg) - - def unapply[X](arg: Term[X]): Option[(Y => Z, Y)] forSome { type Y; type Z } = - arg match { - case i: InternalApply[y, z] => Some(i.fun, i.arg) - case _ => None - } - } - - App({ x: Int => x }, 5) match { - case App(arg, a) => - } -} - -object Ticket710 { - def method: Unit = { - sealed class Parent() - case object Child extends Parent() - val x: Parent = Child - x match { - case Child => () - } - } -} diff --git a/tests/pending/pos/patterns.scala b/tests/pending/pos/patterns.scala deleted file mode 100644 index 547d692d8..000000000 --- a/tests/pending/pos/patterns.scala +++ /dev/null @@ -1,38 +0,0 @@ -trait Option[+a] {} - -case class Some[a](x: a) extends Option[a] { - override def toString(): String = "Some(" + x + ")" - override def equals(that: Any): Boolean = that match { - case Some(x) => this.x == x - case _ => false - } - override def hashCode(): Int = getClass().hashCode() * 41 + x.hashCode() -} - -case object None extends Option[Nothing] { - override def toString(): String = "None" - override def equals(that: Any) = that match { - case None => true - case _ => false - } - override def hashCode(): Int = getClass().hashCode() -} - -object test { - - def println(str: String): Unit = java.lang.System.out.println(str) - - def print(opt: Option[String]) = opt match { - case Some(x) => println(x) - case None => println("nothing") - } -} - -// if bodies are duplicated, then we would get an error like "double definition" - -trait John[A,B] { - def filter(x:Any) = x match { - case (x::xs, _) => "ga" - case _ => {x:String => "foobar"} - } -} diff --git a/tests/pending/pos/patterns1.scala b/tests/pending/pos/patterns1.scala deleted file mode 100644 index f660ea054..000000000 --- a/tests/pending/pos/patterns1.scala +++ /dev/null @@ -1,15 +0,0 @@ -trait Option[+a] - -case class Some[a](x: a) extends Option[a] - -case object None extends Option[Nothing] - -object test { - - def println(str: String): Unit = java.lang.System.out.println(str) - - def print(opt: Option[String]) = opt match { - case Some(x) => println(x) - case None => println("nothing") - } -} diff --git a/tests/pending/pos/philippe4.scala b/tests/pending/pos/philippe4.scala deleted file mode 100644 index 9ce3691f5..000000000 --- a/tests/pending/pos/philippe4.scala +++ /dev/null @@ -1,3 +0,0 @@ -trait Foo[t <: Foo[t]] { self: t => - def foo(that: t): Boolean; -} diff --git a/tests/pending/pos/pmbug.scala b/tests/pending/pos/pmbug.scala deleted file mode 100644 index 7d94e7a8b..000000000 --- a/tests/pending/pos/pmbug.scala +++ /dev/null @@ -1,8 +0,0 @@ -object Test { - - def flatten[a](l: List[List[a]]): List[a] = l match { - case Nil => Nil - case head :: tail => head ::: flatten(tail) - } - -} diff --git a/tests/pending/pos/pos-bug1241.scala b/tests/pending/pos/pos-bug1241.scala deleted file mode 100644 index 1038dc304..000000000 --- a/tests/pending/pos/pos-bug1241.scala +++ /dev/null @@ -1,8 +0,0 @@ -object test extends App { - // more.. - type T = { def hello(): Unit } - //val x4 = new AnyRef { def hello() { println("4") } } // ok! - val x4: T = new { def hello(): Unit = { println("4") } } // error! - x4.hello() - // more.. -} diff --git a/tests/pending/pos/private-types-after-typer.scala b/tests/pending/pos/private-types-after-typer.scala deleted file mode 100644 index 5c20cac2a..000000000 --- a/tests/pending/pos/private-types-after-typer.scala +++ /dev/null @@ -1,9 +0,0 @@ -// Testing that the type of the outer accessor in O2 -// doesn't crash the compiler over private type escaping scope. -trait T { - class C { - private object O1 { - object O2 - } - } -} diff --git a/tests/pending/pos/sammy_poly.flags b/tests/pending/pos/sammy_poly.flags deleted file mode 100644 index 48fd86716..000000000 --- a/tests/pending/pos/sammy_poly.flags +++ /dev/null @@ -1 +0,0 @@ --Xexperimental diff --git a/tests/pending/pos/sealed-final.flags b/tests/pending/pos/sealed-final.flags deleted file mode 100644 index cfabf7a5b..000000000 --- a/tests/pending/pos/sealed-final.flags +++ /dev/null @@ -1 +0,0 @@ --Xfatal-warnings -Yinline-warnings -optimise
\ No newline at end of file diff --git a/tests/pending/pos/selftails.scala b/tests/pending/pos/selftails.scala deleted file mode 100644 index a4253b80c..000000000 --- a/tests/pending/pos/selftails.scala +++ /dev/null @@ -1,23 +0,0 @@ -package net.liftweb.util - -/** -* This trait adds functionality to Scala standard types -*/ -trait BasicTypesHelpers { self: StringHelpers with ControlHelpers => - - /** - * Compare two arrays of Byte for byte equality. - * @return true if two Byte arrays contain the same bytes - */ - def isEq(a: Array[Byte], b: Array[Byte]) = { - def eq(a: Array[Byte], b: Array[Byte], pos: Int, len: Int): Boolean = { - if (pos == len) true - else if (a(pos) != b(pos)) false - else eq(a , b, pos + 1, len) - } - a.length == b.length && eq(a, b, 0, a.length) - } -} - -trait StringHelpers -trait ControlHelpers diff --git a/tests/pending/pos/seqtest2.scala b/tests/pending/pos/seqtest2.scala deleted file mode 100644 index 239b1b581..000000000 --- a/tests/pending/pos/seqtest2.scala +++ /dev/null @@ -1,13 +0,0 @@ -object test { - - val b = List(1, 2, 3); - - def main(args: Array[String]) = - Console.println( - b match { - case List(1, 2, 3) => true; - case _ => false; - } - ) - -} diff --git a/tests/pending/pos/t5545/S_1.scala b/tests/pending/pos/spec-t5545/S_1.scala index 59ec1fd85..59ec1fd85 100644 --- a/tests/pending/pos/t5545/S_1.scala +++ b/tests/pending/pos/spec-t5545/S_1.scala diff --git a/tests/pending/pos/t5545/S_2.scala b/tests/pending/pos/spec-t5545/S_2.scala index 59ec1fd85..59ec1fd85 100644 --- a/tests/pending/pos/t5545/S_2.scala +++ b/tests/pending/pos/spec-t5545/S_2.scala diff --git a/tests/pending/pos/specializes-sym-crash.scala b/tests/pending/pos/specializes-sym-crash.scala deleted file mode 100644 index 7778ba277..000000000 --- a/tests/pending/pos/specializes-sym-crash.scala +++ /dev/null @@ -1,26 +0,0 @@ -import scala.collection._ - -trait Foo[+A, - +Coll, - +This <: SeqView[A, Coll] with SeqViewLike[A, Coll, This]] -extends Seq[A] with SeqLike[A, This] with IterableView[A, Coll] with IterableViewLike[A, Coll, This] { -self => - - trait Transformed[+B] extends SeqView[B, Coll] with super.Transformed[B] { - def length: Int - def apply(idx: Int): B - override def toString = viewToString - } - trait Reversed extends Transformed[A] { - override def iterator: Iterator[A] = createReversedIterator - def length: Int = self.length - def apply(idx: Int): A = self.apply(length - 1 - idx) - final override protected[this] def viewIdentifier = "R" - - private def createReversedIterator = { - var lst = List[A]() - for (elem <- self) lst ::= elem - lst.iterator - } - } -} diff --git a/tests/pending/pos/t1048.scala b/tests/pending/pos/t1048.scala deleted file mode 100644 index b8694b38e..000000000 --- a/tests/pending/pos/t1048.scala +++ /dev/null @@ -1,14 +0,0 @@ -trait T[U] { - def x: T[_ <: U] -} - -object T { - def unapply[U](t: T[U]): Option[T[_ <: U]] = Some(t.x) -} - -object Test { - def f[W](t: T[W]) = t match { - case T(T(_)) => () - } -} - diff --git a/tests/pending/pos/t1843.scala b/tests/pending/pos/t1843.scala deleted file mode 100644 index 871b21346..000000000 --- a/tests/pending/pos/t1843.scala +++ /dev/null @@ -1,24 +0,0 @@ -/** -* Scala Compiler Will Crash On this File -* ... Or Will It? -* -*/ -object Crash { - trait UpdateType[A] - case class StateUpdate[A](updateType : UpdateType[A], value : A) - case object IntegerUpdateType extends UpdateType[Integer] - - //However this method will cause a crash - def crash(updates: List[StateUpdate[_]]): Unit = { - updates match { - case Nil => - case u::us => - u match { - //Line below seems to be the crashing line - case StateUpdate(key, newValue) if (key == IntegerUpdateType) => - println("Requires a statement to induce the crash") - case _ => - } - } - } -} diff --git a/tests/pending/pos/t2613.scala b/tests/pending/pos/t2613.scala deleted file mode 100644 index 3a64dbc28..000000000 --- a/tests/pending/pos/t2613.scala +++ /dev/null @@ -1,11 +0,0 @@ -import language.existentials - -object Test { - class Row - - abstract class MyRelation [R <: Row, +Relation <: MyRelation[R, Relation]] - - type M = MyRelation[R, Relation] forSome {type R <: Row; type Relation <: MyRelation[R, Relation]} - - var (x,y): (String, M) = null -} diff --git a/tests/pending/pos/t2782.scala b/tests/pending/pos/t2782.scala deleted file mode 100644 index 3b387af80..000000000 --- a/tests/pending/pos/t2782.scala +++ /dev/null @@ -1,18 +0,0 @@ -import scala.{collection => sc} - -object Test { - trait Foo[T] - - // Haven't managed to repro without using a CanBuild or CanBuildFrom implicit parameter - implicit def MapFoo[A, B, M[A, B] <: sc.Map[A,B]](implicit aFoo: Foo[A], bFoo: Foo[B], cb: sc.generic.CanBuild[(A, B), M[A, B]]): Test.Foo[M[A,B]] = new Foo[M[A,B]] {} - implicit object Tuple2IntIntFoo extends Foo[(Int, Int)] // no difference if this line is uncommented - implicit def Tuple2Foo[A, B]: Test.Foo[(A, B)] = new Foo[(A, B)] {} // nor this one - - implicitly[Foo[(Int, Int)]] -} - -class A { - def x[N[X] >: M[X], M[_], G](n: N[G], m: M[G]) = null - - x(Some(3), Seq(2)) -} diff --git a/tests/pending/pos/t3252.flags b/tests/pending/pos/t3252.flags deleted file mode 100644 index eb4d19bcb..000000000 --- a/tests/pending/pos/t3252.flags +++ /dev/null @@ -1 +0,0 @@ --optimise
\ No newline at end of file diff --git a/tests/pending/pos/t3274.scala b/tests/pending/pos/t3274.scala deleted file mode 100644 index bd8b080c9..000000000 --- a/tests/pending/pos/t3274.scala +++ /dev/null @@ -1,9 +0,0 @@ -trait A { this: B => - trait X { - class Y1 extends Y - } -} - -trait B extends A { - trait Y { def f: Unit = {} } -} diff --git a/tests/pending/pos/t3477.scala b/tests/pending/pos/t3477.scala deleted file mode 100644 index 6a94baa6c..000000000 --- a/tests/pending/pos/t3477.scala +++ /dev/null @@ -1,7 +0,0 @@ -class J3 { - def f[K, K1 >: K, V](x: Map[K1, V]): Map[K, V] = sys.error("") -} - -object Test { - (new J3).f(Map[Int, Int]()) -} diff --git a/tests/pending/pos/t3480.scala b/tests/pending/pos/t3480.scala deleted file mode 100644 index ba2e1a4b8..000000000 --- a/tests/pending/pos/t3480.scala +++ /dev/null @@ -1,4 +0,0 @@ -object Test { - val List(_: _*) = List(1) - val Array( who, what : _* ) = "Eclipse plugin cannot not handle this" split (" ") -} diff --git a/tests/pending/pos/t3498-new.scala b/tests/pending/pos/t3498-new.scala deleted file mode 100644 index ccf2af9de..000000000 --- a/tests/pending/pos/t3498-new.scala +++ /dev/null @@ -1,17 +0,0 @@ -import scala.reflect.{ClassTag, classTag} - -abstract class A[T, @specialized(scala.Int) U : ClassTag] { - def f(state: T): Array[U] -} - -abstract class B extends A[ Array[Byte], Int ] { - type T = Array[Byte] - type U = Int - - val N = 0 - - def f(state: T): Array[U] = - { - new Array[U](N + state(N)) - } -} diff --git a/tests/pending/pos/t3534.scala b/tests/pending/pos/t3534.scala deleted file mode 100644 index 44d3aafb6..000000000 --- a/tests/pending/pos/t3534.scala +++ /dev/null @@ -1,6 +0,0 @@ -object Test { - List[Option[Int]]() match { - case None :: bb :: cc => () - case x => throw new Exception(x.filter(_.isDefined).mkString) - } - } diff --git a/tests/pending/pos/t3568.scala b/tests/pending/pos/t3568.scala deleted file mode 100644 index 50f0cdb2e..000000000 --- a/tests/pending/pos/t3568.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]): Unit = { 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 - } -} diff --git a/tests/pending/pos/t3577.scala b/tests/pending/pos/t3577.scala deleted file mode 100644 index 1ac1786c1..000000000 --- a/tests/pending/pos/t3577.scala +++ /dev/null @@ -1,29 +0,0 @@ -case class Check[A](val value: A) - -case class C2(checks: Check[_]*); - -object C { - def m(x : C2): Any = (null: Any) match { - case C2(_, rest : _*) => { - rest.map(_.value) - } - } -} - -/////////////////// - -object Container { - trait Exp[+T] - abstract class FuncExp[-S, +T] - - sealed abstract class FoundNode[T, Repr] { - def optimize[TupleT, U, That](parentNode: FlatMap[T, Repr, U, That]): Any - def optimize2[TupleT, U, That](parentNode: Any): Any - } - - class FlatMap[T, Repr, U, That] - - val Seq(fn: FoundNode[t, repr]) = Seq[FoundNode[_, _]]() - fn.optimize(null) // was: scala.MatchError: ? (of class BoundedWildcardType) @ Variances#varianceInType - fn.optimize2(null) // was: fatal error: bad type: ?(class scala.reflect.internal.Types$BoundedWildcardType) @ Pickle.putType -} diff --git a/tests/pending/pos/t3582b.scala b/tests/pending/pos/t3582b.scala deleted file mode 100644 index f7778148e..000000000 --- a/tests/pending/pos/t3582b.scala +++ /dev/null @@ -1,5 +0,0 @@ -object ParamScoping { - // scoping worked fine in the result type, but was wrong in body - // reason: typedTypeDef needs new context, which was set up by typed1 but not by typedDefDef and typedClassDef - def noOverlapFOwithHO[T, G[T]]: G[T] = null.asInstanceOf[G[T]] -} diff --git a/tests/pending/pos/t360.scala b/tests/pending/pos/t360.scala deleted file mode 100644 index f3716d4f9..000000000 --- a/tests/pending/pos/t360.scala +++ /dev/null @@ -1,9 +0,0 @@ -abstract class Bug360A { self: Bug360C => - def f: String = "hello"; -} -trait Bug360B { self: Bug360C => - object d { - Console.println(f); - } -} -abstract class Bug360C extends Bug360A with Bug360B; diff --git a/tests/pending/pos/t3612.scala b/tests/pending/pos/t3612.scala deleted file mode 100644 index a9d063998..000000000 --- a/tests/pending/pos/t3612.scala +++ /dev/null @@ -1,6 +0,0 @@ -trait C - -class Outer { - object O0 extends C {} - object O extends C { self => } -} diff --git a/tests/pending/pos/t3688.scala b/tests/pending/pos/t3688.scala deleted file mode 100644 index bf7983081..000000000 --- a/tests/pending/pos/t3688.scala +++ /dev/null @@ -1,14 +0,0 @@ -import collection.mutable -import collection.JavaConversions._ -import java.{util => ju} - -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 -} diff --git a/tests/pending/pos/t3777.scala b/tests/pending/pos/t3777.scala deleted file mode 100644 index 165eeebfd..000000000 --- a/tests/pending/pos/t3777.scala +++ /dev/null @@ -1,7 +0,0 @@ -object Test { - type Point = Map[Symbol, String] - type Points = IndexedSeq[Point] - - def makePoints2: Points = IndexedSeq[Point]() - val spoints2 = util.Random.shuffle(makePoints2) -} diff --git a/tests/pending/pos/t3856.scala b/tests/pending/pos/t3856.scala deleted file mode 100644 index 6b38edc52..000000000 --- a/tests/pending/pos/t3856.scala +++ /dev/null @@ -1,9 +0,0 @@ -case class C[T](x: T) - -case class CS(xs: C[_]*) - -// t3856 -object Test { - val x = CS(C(5), C("abc")) match { case CS(C(5), xs : _*) => xs } - println(x) -} diff --git a/tests/pending/pos/t3859.scala b/tests/pending/pos/t3859.scala deleted file mode 100644 index 992207301..000000000 --- a/tests/pending/pos/t3859.scala +++ /dev/null @@ -1,4 +0,0 @@ -class Test { - def foo: Unit = bar(Array(): _*) - def bar(values: AnyRef*): Unit = () -} diff --git a/tests/pending/pos/t3869.scala b/tests/pending/pos/t3869.scala deleted file mode 100644 index 581c11c81..000000000 --- a/tests/pending/pos/t3869.scala +++ /dev/null @@ -1,10 +0,0 @@ - -// see ticket #3869 -object Test { - def f: Unit = - try return finally while(true) () - - def main(args: Array[String]): Unit = { - f - } -} diff --git a/tests/pending/pos/t3960.scala b/tests/pending/pos/t3960.scala deleted file mode 100644 index 5c658e9fb..000000000 --- a/tests/pending/pos/t3960.scala +++ /dev/null @@ -1,7 +0,0 @@ -class A { - class C[x] - val cs = new scala.collection.mutable.HashMap[C[_], Int] - def c: C[_] = sys.error("") - val eval: C[_] = c - cs(c) += 1 -} diff --git a/tests/pending/pos/t3986.scala b/tests/pending/pos/t3986.scala deleted file mode 100644 index ea6c64fde..000000000 --- a/tests/pending/pos/t3986.scala +++ /dev/null @@ -1,10 +0,0 @@ -object Test { - def main(args: Array[String]): Unit = { - new AnyRef { -// TODO NEEDS MANUAL CHANGE (early initializers) -// BEGIN copied early initializers -val x = "abc" -// END copied early initializers - } - } -} diff --git a/tests/pending/pos/t404.scala b/tests/pending/pos/t404.scala deleted file mode 100644 index 8f5e8bef5..000000000 --- a/tests/pending/pos/t404.scala +++ /dev/null @@ -1,12 +0,0 @@ -trait AbsIterator { - type T - def next: T -} -class StringIterator extends AbsIterator { - type T = Char - def next = 'a' -} -trait SyncIterator extends AbsIterator { - abstract override def next: T = super.next -} -class I extends StringIterator with SyncIterator diff --git a/tests/pending/pos/t415.scala b/tests/pending/pos/t415.scala deleted file mode 100644 index 355b6136d..000000000 --- a/tests/pending/pos/t415.scala +++ /dev/null @@ -1,9 +0,0 @@ -abstract class A { - type T <: String; - def x: T; -} - -abstract class B { - def a: A; - val y: String = a.x; -} diff --git a/tests/pending/pos/t4176.scala b/tests/pending/pos/t4176.scala deleted file mode 100644 index b4f1e705b..000000000 --- a/tests/pending/pos/t4176.scala +++ /dev/null @@ -1,6 +0,0 @@ -// a.scala -// Fri Jan 20 12:22:51 PST 2012 - -class A(xs: Int*) { def getXs = xs } - -class B extends A { override def getXs = Nil } diff --git a/tests/pending/pos/t4176b.scala b/tests/pending/pos/t4176b.scala deleted file mode 100644 index f7d83365c..000000000 --- a/tests/pending/pos/t4176b.scala +++ /dev/null @@ -1,5 +0,0 @@ -object Test { - def foo(a: String*) = a - val fooEta = foo _ - (foo: Seq[String] => Seq[String]) -} diff --git a/tests/pending/pos/t4202.scala b/tests/pending/pos/t4202.scala deleted file mode 100644 index b2a0c0120..000000000 --- a/tests/pending/pos/t4202.scala +++ /dev/null @@ -1,18 +0,0 @@ -object t4202_1 { - () => { - trait T { - def t = () - } - } -} - -object t4202_2 { - () => { - trait T { - def t = () - } - object T2 extends T { - t - } - } -} diff --git a/tests/pending/pos/t4237.scala b/tests/pending/pos/t4237.scala deleted file mode 100644 index 44bc81462..000000000 --- a/tests/pending/pos/t4237.scala +++ /dev/null @@ -1,6 +0,0 @@ -class A { - (new { def field = 0; def field_=(i: Int) = () }).field = 5 // compiles as expected - (new { def field(implicit i: Int) = 0; def field_=(i: Int) = () }).field = 5 // compiles even with implicit params on getter - (new { def field = 0; def field_=[T](i: Int) = () }).field = 5 // compiles with type param on setter - (new { def field[T] = 0; def field_=(i: Int) = () }).field = 5 // DOESN'T COMPILE -} diff --git a/tests/pending/pos/t4269.scala b/tests/pending/pos/t4269.scala index 99a30785b..fe0c20103 100644 --- a/tests/pending/pos/t4269.scala +++ b/tests/pending/pos/t4269.scala @@ -1,5 +1,5 @@ class A { PartialFunction.condOpt(Nil) { - case items@List(_*) if true => + case items@List(_: _*) if true => } } diff --git a/tests/pending/pos/t430-feb09.scala b/tests/pending/pos/t430-feb09.scala deleted file mode 100644 index 1499f32b7..000000000 --- a/tests/pending/pos/t430-feb09.scala +++ /dev/null @@ -1,34 +0,0 @@ -// Compiles -package a { - case class A[T]() -} - -// Compiles -package b.scala { - class B[T] -} - -// Doesn't compile: type Nothing is not a member of c.scala -package c.scala { - case class C[T]() -} - -// Doesn't compile: type Nothing is not a member of d.scala -package d.scala.d { - case class D[T]() -} - -// Doesn't compile: type Any is not a member of e.scala -package e.scala { - case class E[T >: Nothing]() -} - -// Compiles -package f.scala { - case class F[T >: Nothing <: Any]() -} - -// Doesn't compile: type <byname> is not a member of package h.scala -package h.scala { - case class H(s: String)(t: =>String) -} diff --git a/tests/pending/pos/t4336.scala b/tests/pending/pos/t4336.scala deleted file mode 100644 index e10d00158..000000000 --- a/tests/pending/pos/t4336.scala +++ /dev/null @@ -1,19 +0,0 @@ -object Main { - class NonGeneric {} - class Generic[T] {} - - class Composite { - def contains(setup : Composite => Unit) : Composite = this - } - - def generic[T](parent: Composite): Generic[T] = new Generic[T] - def nonGeneric(parent: Composite): NonGeneric = new NonGeneric - - new Composite().contains( - nonGeneric // should have type Composite => NonGeneric - ) - - new Composite().contains( - generic[Int] // should have type Composite => Generic[Int] - ) -} diff --git a/tests/pending/pos/t4345.scala b/tests/pending/pos/t4345.scala deleted file mode 100644 index b0131d5fa..000000000 --- a/tests/pending/pos/t4345.scala +++ /dev/null @@ -1,7 +0,0 @@ -trait C1[+A, +CC[X]] { - protected[this] def f: A => CC[A] = sys.error("") -} - -trait C2[+A, +CC[X]] extends C1[A, CC] { - override protected[this] def f = super.f -} diff --git a/tests/pending/pos/t4363.scala b/tests/pending/pos/t4363.scala deleted file mode 100644 index 64cdcd935..000000000 --- a/tests/pending/pos/t4363.scala +++ /dev/null @@ -1,8 +0,0 @@ -object Test { - trait Suite { def bar() = () } - - () => { - trait FunkySuite extends Suite { override def bar() = () } - class MySuite extends FunkySuite { } - } -} diff --git a/tests/pending/pos/t4365/a_1.scala b/tests/pending/pos/t4365/a_1.scala deleted file mode 100644 index a24b57772..000000000 --- a/tests/pending/pos/t4365/a_1.scala +++ /dev/null @@ -1,18 +0,0 @@ -import scala.collection._ - -trait SeqViewLike[+A, - +Coll, - +This <: SeqView[A, Coll] with SeqViewLike[A, Coll, Nothing]] - extends Seq[A] with GenSeqViewLike[A, Coll, Nothing] -{ - - trait Transformed[+B] extends super[GenSeqViewLike].Transformed[B] - - abstract class AbstractTransformed[+B] extends Seq[B] with Transformed[B] { - def underlying: Coll = error("") - } - - trait Reversed extends Transformed[A] with super[GenSeqViewLike].Reversed - - protected def newReversed: Transformed[A] = new AbstractTransformed[A] with Reversed -} diff --git a/tests/pending/pos/t4365/b_1.scala b/tests/pending/pos/t4365/b_1.scala deleted file mode 100644 index e1423813f..000000000 --- a/tests/pending/pos/t4365/b_1.scala +++ /dev/null @@ -1,24 +0,0 @@ -import scala.collection._ - -trait GenSeqView0[+A, +Coll] - -trait GenSeqViewLike[+A, - +Coll, - +This <: GenSeqView0[A, Coll] with GenSeqViewLike[A, Coll, Nothing]] -extends GenSeq[A] { -self => - - trait Transformed[+B] { - def length: Int = 0 - def apply(idx: Int): B = error("") - } - - trait Reversed extends Transformed[A] { - def iterator: Iterator[A] = createReversedIterator - - private def createReversedIterator: Iterator[A] = { - self.foreach(_ => ()) - null - } - } -} diff --git a/tests/pending/pos/t4545.scala b/tests/pending/pos/t4545.scala deleted file mode 100644 index b2b67fa8f..000000000 --- a/tests/pending/pos/t4545.scala +++ /dev/null @@ -1,14 +0,0 @@ -object Test { - def f[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T](table: Tuple20[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T])(fun: (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T) => Unit): Unit = { - } - def g[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U](table: Tuple21[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U])(fun: (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) => Unit): Unit = { - } - - def g20 = f( - ( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1) - ) { case ((a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t)) => () } - - def g21 = g( - (1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1) - ) { case ((a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u)) => () } -} diff --git a/tests/pending/pos/t4553.scala b/tests/pending/pos/t4553.scala deleted file mode 100644 index e9bef4099..000000000 --- a/tests/pending/pos/t4553.scala +++ /dev/null @@ -1,11 +0,0 @@ -trait VectorLike[+T, +V[A] <: Vector[A]] { - def +[S, VResult[S] >: V[S]](v: VResult[S]): Unit -} - -trait Vector[+T] extends VectorLike[T, Vector] -trait ImmutableVector[T] extends Vector[T] with VectorLike[T, ImmutableVector] -trait MutableVector[T] extends Vector[T] with VectorLike[T, MutableVector] - -object Test { - def f = (null: MutableVector[Int]) + (null: ImmutableVector[Int]) -} diff --git a/tests/pending/pos/t4579.scala b/tests/pending/pos/t4579.scala deleted file mode 100644 index 8ce657eff..000000000 --- a/tests/pending/pos/t4579.scala +++ /dev/null @@ -1,518 +0,0 @@ -//############################################################################ -// Lisp interpreter (revived as an optimizer test.) -//############################################################################ - -//############################################################################ -// Lisp Scanner - -class LispTokenizer(s: String) extends Iterator[String] { - private var i = 0; - private def isDelimiter(ch: Char) = ch <= ' ' || ch == '(' || ch == ')' - def hasNext: Boolean = { - while (i < s.length() && s.charAt(i) <= ' ') i += 1 - i < s.length() - } - def next: String = - if (hasNext) { - val start = i - if (isDelimiter(s charAt i)) i += 1 - else - do i = i + 1 - while (!isDelimiter(s charAt i)) - s.substring(start, i) - } else sys.error("premature end of string") -} - -//############################################################################ -// Lisp Interface - -trait Lisp { - type Data - - def string2lisp(s: String): Data - def lisp2string(s: Data): String - - def evaluate(d: Data): Data - // !!! def evaluate(s: String): Data = evaluate(string2lisp(s)) - def evaluate(s: String): Data -} - -//############################################################################ -// Lisp Implementation Using Case Classes - -object LispCaseClasses extends Lisp { - - import List.range - - trait Data { - def elemsToString(): String = toString(); - } - case class CONS(car: Data, cdr: Data) extends Data { - override def toString() = "(" + elemsToString() + ")"; - override def elemsToString() = car.toString() + (cdr match { - case NIL() => "" - case _ => " " + cdr.elemsToString(); - }) - } - case class NIL() extends Data { // !!! use case object - override def toString() = "()"; - } - case class SYM(name: String) extends Data { - override def toString() = name; - } - case class NUM(x: Int) extends Data { - override def toString() = x.toString(); - } - case class STR(x: String) extends Data { - override def toString() = "\"" + x + "\""; - } - case class FUN(f: List[Data] => Data) extends Data { - override def toString() = "<fn>"; - } - - def list(): Data = - NIL(); - def list(x0: Data): Data = - CONS(x0, NIL()); - def list(x0: Data, x1: Data): Data = - CONS(x0, list(x1)); - def list(x0: Data, x1: Data, x2: Data): Data = - CONS(x0, list(x1, x2)); - def list(x0: Data, x1: Data, x2: Data, x3: Data): Data = - CONS(x0, list(x1, x2, x3)); - def list(x0: Data, x1: Data, x2: Data, x3: Data, x4: Data): Data = - CONS(x0, list(x1, x2, x3, x4)); - def list(x0: Data, x1: Data, x2: Data, x3: Data, x4: Data, x5: Data): Data = - CONS(x0, list(x1, x2, x3, x4, x5)); - def list(x0: Data, x1: Data, x2: Data, x3: Data, x4: Data, x5: Data, - x6: Data): Data = - CONS(x0, list(x1, x2, x3, x4, x5, x6)); - def list(x0: Data, x1: Data, x2: Data, x3: Data, x4: Data, x5: Data, - x6: Data, x7: Data): Data = - CONS(x0, list(x1, x2, x3, x4, x5, x6, x7)); - def list(x0: Data, x1: Data, x2: Data, x3: Data, x4: Data, x5: Data, - x6: Data, x7: Data, x8: Data): Data = - CONS(x0, list(x1, x2, x3, x4, x5, x6, x7, x8)); - def list(x0: Data, x1: Data, x2: Data, x3: Data, x4: Data, x5: Data, - x6: Data, x7: Data, x8: Data, x9: Data): Data = - CONS(x0, list(x1, x2, x3, x4, x5, x6, x7, x8, x9)); - - var curexp: Data = null - var trace: Boolean = false - var indent: Int = 0 - - def lispError[a](msg: String): a = - sys.error("error: " + msg + "\n" + curexp); - - trait Environment { - def lookup(n: String): Data; - def extendRec(name: String, expr: Environment => Data) = - new Environment { - def lookup(n: String): Data = - if (n == name) expr(this) else Environment.this.lookup(n); - } - def extend(name: String, v: Data) = extendRec(name, (env1 => v)); - } - val EmptyEnvironment = new Environment { - def lookup(n: String): Data = lispError("undefined: " + n); - } - - def toList(x: Data): List[Data] = x match { - case NIL() => List() - case CONS(y, ys) => y :: toList(ys) - case _ => lispError("malformed list: " + x); - } - - def toBoolean(x: Data) = x match { - case NUM(0) => false - case _ => true - } - - def normalize(x: Data): Data = x match { - case CONS(SYM("def"), - CONS(CONS(SYM(name), args), CONS(body, CONS(expr, NIL())))) => - normalize(list(SYM("def"), - SYM(name), list(SYM("lambda"), args, body), expr)) - case CONS(SYM("cond"), CONS(CONS(SYM("else"), CONS(expr, NIL())),NIL())) => - normalize(expr) - case CONS(SYM("cond"), CONS(CONS(test, CONS(expr, NIL())), rest)) => - normalize(list(SYM("if"), test, expr, CONS(SYM("cond"), rest))) - case CONS(h, t) => CONS(normalize(h), normalize(t)) - case _ => x - } - - def eval(x: Data, env: Environment): Data = { - val prevexp = curexp; - curexp = x; - if (trace) { - for (x <- range(1, indent)) Console.print(" "); - Console.println("===> " + x); - indent = indent + 1; - } - val result = eval1(x, env); - if (trace) { - indent = indent - 1; - for (x <- range(1, indent)) Console.print(" "); - Console.println("<=== " + result); - } - curexp = prevexp; - result - } - - def eval1(x: Data, env: Environment): Data = x match { - case SYM(name) => - env lookup name - case CONS(SYM("def"), CONS(SYM(name), CONS(y, CONS(z, NIL())))) => - eval(z, env.extendRec(name, (env1 => eval(y, env1)))) - case CONS(SYM("val"), CONS(SYM(name), CONS(y, CONS(z, NIL())))) => - eval(z, env.extend(name, eval(y, env))) - case CONS(SYM("lambda"), CONS(params, CONS(y, NIL()))) => - mkLambda(params, y, env) - case CONS(SYM("if"), CONS(c, CONS(t, CONS(e, NIL())))) => - if (toBoolean(eval(c, env))) eval(t, env) else eval(e, env) - case CONS(SYM("quote"), CONS(x, NIL())) => - x - case CONS(y, xs) => - apply(eval(y, env), toList(xs) map (x => eval(x, env))) - case NUM(_) => x - case STR(_) => x - case FUN(_) => x - case _ => - lispError("illegal term") - } - - def apply(fn: Data, args: List[Data]): Data = fn match { - case FUN(f) => f(args); - case _ => lispError("application of non-function: " + fn); - } - - def mkLambda(params: Data, expr: Data, env: Environment): Data = { - - def extendEnv(env: Environment, - ps: List[String], args: List[Data]): Environment = - (ps, args) match { - case (List(), List()) => - env - case (p :: ps1, arg :: args1) => - extendEnv(env.extend(p, arg), ps1, args1) - case _ => - lispError("wrong number of arguments") - } - - val ps: List[String] = toList(params) map { - case SYM(name) => name - case _ => sys.error("illegal parameter list"); - } - - FUN(args => eval(expr, extendEnv(env, ps, args))) - } - - val globalEnv = EmptyEnvironment - .extend("=", FUN({ - case List(NUM(arg1),NUM(arg2)) => NUM(if (arg1 == arg2) 1 else 0) - case List(STR(arg1),STR(arg2)) => NUM(if (arg1 == arg2) 1 else 0)})) - .extend("+", FUN({ - case List(NUM(arg1),NUM(arg2)) => NUM(arg1 + arg2) - case List(STR(arg1),STR(arg2)) => STR(arg1 + arg2)})) - .extend("-", FUN({ - case List(NUM(arg1),NUM(arg2)) => NUM(arg1 - arg2)})) - .extend("*", FUN({ - case List(NUM(arg1),NUM(arg2)) => NUM(arg1 * arg2)})) - .extend("/", FUN({ - case List(NUM(arg1),NUM(arg2)) => NUM(arg1 / arg2)})) - .extend("car", FUN({ - case List(CONS(x, xs)) => x})) - .extend("cdr", FUN({ - case List(CONS(x, xs)) => xs})) - .extend("null?", FUN({ - case List(NIL()) => NUM(1) - case _ => NUM(0)})) - .extend("cons", FUN({ - case List(x, y) => CONS(x, y)})); - - def evaluate(x: Data): Data = eval(normalize(x), globalEnv); - def evaluate(s: String): Data = evaluate(string2lisp(s)); - - def string2lisp(s: String): Data = { - val it = new LispTokenizer(s); - def parse(token: String): Data = { - if (token == "(") parseList - else if (token == ")") sys.error("unbalanced parentheses") - else if ('0' <= token.charAt(0) && token.charAt(0) <= '9') - NUM(token.toInt) - else if (token.charAt(0) == '\"' && token.charAt(token.length()-1)=='\"') - STR(token.substring(1,token.length() - 1)) - else SYM(token) - } - def parseList: Data = { - val token = it.next; - if (token == ")") NIL() else CONS(parse(token), parseList) - } - parse(it.next) - } - - def lisp2string(d: Data): String = d.toString(); -} - -//############################################################################ -// Lisp Implementation Using Any - -object LispAny extends Lisp { - - import List._; - - type Data = Any; - - case class Lambda(f: List[Data] => Data); - - var curexp: Data = null; - var trace: Boolean = false; - var indent: Int = 0; - - def lispError[a](msg: String): a = - sys.error("error: " + msg + "\n" + curexp); - - trait Environment { - def lookup(n: String): Data; - def extendRec(name: String, expr: Environment => Data) = - new Environment { - def lookup(n: String): Data = - if (n == name) expr(this) else Environment.this.lookup(n); - } - def extend(name: String, v: Data) = extendRec(name, (env1 => v)); - } - val EmptyEnvironment = new Environment { - def lookup(n: String): Data = lispError("undefined: " + n); - } - - def asList(x: Data): List[Data] = x match { - case y: List[_] => y - case _ => lispError("malformed list: " + x) - } - - def asInt(x: Data): Int = x match { - case y: Int => y - case _ => lispError("not an integer: " + x) - } - - def asString(x: Data): String = x match { - case y: String => y - case _ => lispError("not a string: " + x) - } - - def asBoolean(x: Data): Boolean = x != 0 - - def normalize(x: Data): Data = x match { - case 'and :: x :: y :: Nil => - normalize('if :: x :: y :: 0 :: Nil) - case 'or :: x :: y :: Nil => - normalize('if :: x :: 1 :: y :: Nil) - case 'def :: (name :: args) :: body :: expr :: Nil => - normalize('def :: name :: ('lambda :: args :: body :: Nil) :: expr :: Nil) - case 'cond :: ('else :: expr :: Nil) :: rest => - normalize(expr); - case 'cond :: (test :: expr :: Nil) :: rest => - normalize('if :: test :: expr :: ('cond :: rest) :: Nil) - case 'cond :: 'else :: expr :: Nil => - normalize(expr) - case h :: t => - normalize(h) :: asList(normalize(t)) - case _ => - x - } - - def eval(x: Data, env: Environment): Data = { - val prevexp = curexp; - curexp = x; - if (trace) { - for (x <- range(1, indent)) Console.print(" "); - Console.println("===> " + x); - indent += 1; - } - val result = eval1(x, env); - if (trace) { - indent -= 1; - for (x <- range(1, indent)) Console.print(" "); - Console.println("<=== " + result); - } - curexp = prevexp; - result - } - - def eval1(x: Data, env: Environment): Data = x match { - case Symbol(name) => - env lookup name - case 'def :: Symbol(name) :: y :: z :: Nil => - eval(z, env.extendRec(name, (env1 => eval(y, env1)))) - case 'val :: Symbol(name) :: y :: z :: Nil => - eval(z, env.extend(name, eval(y, env))) - case 'lambda :: params :: y :: Nil => - mkLambda(params, y, env) - case 'if :: c :: y :: z :: Nil => - if (asBoolean(eval(c, env))) eval(y, env) else eval(z, env) - case 'quote :: y :: Nil => - y - case y :: z => - apply(eval(y, env), z map (x => eval(x, env))) - case Lambda(_) => x - case y: String => x - case y: Int => x - case y => lispError("illegal term") - } - - def lisp2string(x: Data): String = x match { - case Symbol(name) => name - case Nil => "()" - case y :: ys => - def list2string(xs: List[Data]): String = xs match { - case List() => "" - case y :: ys => " " + lisp2string(y) + list2string(ys) - } - "(" + lisp2string(y) + list2string(ys) + ")" - case _ => if (x.isInstanceOf[String]) "\"" + x + "\""; else x.toString() - } - - def apply(fn: Data, args: List[Data]): Data = fn match { - case Lambda(f) => f(args); - case _ => lispError("application of non-function: " + fn + " to " + args); - } - - def mkLambda(params: Data, expr: Data, env: Environment): Data = { - - def extendEnv(env: Environment, - ps: List[String], args: List[Data]): Environment = - (ps, args) match { - case (List(), List()) => - env - case (p :: ps1, arg :: args1) => - extendEnv(env.extend(p, arg), ps1, args1) - case _ => - lispError("wrong number of arguments") - } - - val ps: List[String] = asList(params) map { - case Symbol(name) => name - case _ => sys.error("illegal parameter list"); - } - - Lambda(args => eval(expr, extendEnv(env, ps, args))) - } - - val globalEnv = EmptyEnvironment - .extend("=", Lambda{ - case List(arg1, arg2) => if (arg1 == arg2) 1 else 0}) - .extend("+", Lambda{ - case List(arg1: Int, arg2: Int) => arg1 + arg2 - case List(arg1: String, arg2: String) => arg1 + arg2}) - .extend("-", Lambda{ - case List(arg1: Int, arg2: Int) => arg1 - arg2}) - .extend("*", Lambda{ - case List(arg1: Int, arg2: Int) => arg1 * arg2}) - .extend("/", Lambda{ - case List(arg1: Int, arg2: Int) => arg1 / arg2}) - .extend("nil", Nil) - .extend("cons", Lambda{ - case List(arg1, arg2) => arg1 :: asList(arg2)}) - .extend("car", Lambda{ - case List(x :: xs) => x}) - .extend("cdr", Lambda{ - case List(x :: xs) => xs}) - .extend("null?", Lambda{ - case List(Nil) => 1 - case _ => 0}); - - def evaluate(x: Data): Data = eval(normalize(x), globalEnv); - def evaluate(s: String): Data = evaluate(string2lisp(s)); - - def string2lisp(s: String): Data = { - val it = new LispTokenizer(s); - def parse(token: String): Data = { - if (token == "(") parseList - else if (token == ")") sys.error("unbalanced parentheses") - //else if (Character.isDigit(token.charAt(0))) - else if (token.charAt(0).isDigit) - token.toInt - else if (token.charAt(0) == '\"' && token.charAt(token.length()-1)=='\"') - token.substring(1,token.length() - 1) - else Symbol(token) - } - def parseList: List[Data] = { - val token = it.next; - if (token == ")") Nil else parse(token) :: parseList - } - parse(it.next) - } -} - -//############################################################################ -// List User - -class LispUser(lisp: Lisp) { - - import lisp._; - - def evaluate(s: String) = lisp2string(lisp.evaluate(s)); - - def run = { - - Console.println(string2lisp("(lambda (x) (+ (* x x) 1))").asInstanceOf[AnyRef]); - Console.println(lisp2string(string2lisp("(lambda (x) (+ (* x x) 1))"))); - Console.println; - - Console.println("( '(1 2 3)) = " + evaluate(" (quote(1 2 3))")); - Console.println("(car '(1 2 3)) = " + evaluate("(car (quote(1 2 3)))")); - Console.println("(cdr '(1 2 3)) = " + evaluate("(cdr (quote(1 2 3)))")); - Console.println("(null? '(2 3)) = " + evaluate("(null? (quote(2 3)))")); - Console.println("(null? '()) = " + evaluate("(null? (quote()))")); - Console.println; - - Console.println("faculty(10) = " + evaluate( - "(def (faculty n) " + - "(if (= n 0) " + - "1 " + - "(* n (faculty (- n 1)))) " + - "(faculty 10))")); - Console.println("faculty(10) = " + evaluate( - "(def (faculty n) " + - "(cond " + - "((= n 0) 1) " + - "(else (* n (faculty (- n 1))))) " + - "(faculty 10))")); - Console.println("foobar = " + evaluate( - "(def (foo n) " + - "(cond " + - "((= n 0) \"a\")" + - "((= n 1) \"b\")" + - "((= (/ n 2) 1) " + - "(cond " + - "((= n 2) \"c\")" + - "(else \"d\")))" + - "(else " + - "(def (bar m) " + - "(cond " + - "((= m 0) \"e\")" + - "((= m 1) \"f\")" + - "(else \"z\"))" + - "(bar (- n 4)))))" + - "(val nil (quote ())" + - "(val v1 (foo 0) " + - "(val v2 (+ (foo 1) (foo 2)) " + - "(val v3 (+ (+ (foo 3) (foo 4)) (foo 5)) " + - "(val v4 (foo 6) " + - "(cons v1 (cons v2 (cons v3 (cons v4 nil))))))))))")); - Console.println; - } -} - -//############################################################################ -// Main - -object Test { - def main(args: Array[String]): Unit = { - new LispUser(LispCaseClasses).run; - new LispUser(LispAny).run; - () - } -} - -//############################################################################ diff --git a/tests/pending/pos/t460.scala b/tests/pending/pos/t460.scala deleted file mode 100644 index 3fc13e4dd..000000000 --- a/tests/pending/pos/t460.scala +++ /dev/null @@ -1,9 +0,0 @@ -object Bug460 { - def testFun(x : Int, y : Int) = x + y - val fn = testFun _ - - fn(1, 2) // Ok - (testFun(_, _))(1, 2) // Ok - (testFun _).apply(1, 2) - (testFun _)(1, 2) // Error! (but no longer) -} diff --git a/tests/pending/pos/t4760.scala b/tests/pending/pos/t4760.scala deleted file mode 100644 index d4407a86b..000000000 --- a/tests/pending/pos/t4760.scala +++ /dev/null @@ -1,34 +0,0 @@ - -class Test { - // parses - def f1 = { - import scala._; - } - // b.scala:7: error: ';' expected but '}' found. - // } - // ^ - // one error found - def f2 = { - import scala._ - } - def f2b = { - import scala.collection.mutable.{ Map => MMap } - } - def f(): Unit = { - locally { - import scala.util.Properties.lineSeparator - } - } - - // parses - def f3 = { - import scala._ - 5 - } - locally { (x: Int) => - import scala.util._ - } - 1 match { - case 1 => import scala.concurrent._ - } -} diff --git a/tests/pending/pos/t4853.scala b/tests/pending/pos/t4853.scala deleted file mode 100644 index f227ef36e..000000000 --- a/tests/pending/pos/t4853.scala +++ /dev/null @@ -1,12 +0,0 @@ -object Animal { - def main(args: Array[String]): Unit = { new Animal[Awake].goToSleep } -} - -class Animal[A <: AwakeOrAsleep] { - def goToSleep[B >: A <: Awake]: Animal[Asleep] = new Animal[Asleep] - def wakeUp[B >: A <: Asleep]: Animal[Awake] = new Animal[Awake] -} - -sealed trait AwakeOrAsleep -trait Awake extends AwakeOrAsleep -trait Asleep extends AwakeOrAsleep diff --git a/tests/pending/pos/t4859.scala b/tests/pending/pos/t4859.scala deleted file mode 100644 index 284a39b7a..000000000 --- a/tests/pending/pos/t4859.scala +++ /dev/null @@ -1,17 +0,0 @@ -object O { - // error: C is not a legal prefix for a constructor - C().CC() - // but this works. - D().DD() -} - -case class C() { - case class CC() -} - -case class D() { - class DD() - object DD { - def apply() = new DD() - } -} diff --git a/tests/pending/pos/t4911.scala b/tests/pending/pos/t4911.scala deleted file mode 100644 index cfb3792ae..000000000 --- a/tests/pending/pos/t4911.scala +++ /dev/null @@ -1,16 +0,0 @@ -import language._ - -object Test { - class Foo[T](val x: T) ; object Foo { def unapply[T](x: Foo[T]) = Some(x.x) } - def f1[T](x: Foo[T]) = x match { case Foo(y) => y } - def f2[M[_], T](x: M[T]) = x match { case Foo(y) => y } - - case class Bar[T](x: T) - def f3[T](x: Bar[T]) = x match { case Bar(y) => y } - def f4[M[_], T](x: M[T]) = x match { case Bar(y) => y } -} -// -// ./b.scala:4: warning: non variable type-argument T in type pattern Test.Foo[T] is unchecked since it is eliminated by erasure -// def f2[M[_], T](x: M[T]) = x match { case Foo(y) => y } -// ^ -// one warning found diff --git a/tests/pending/pos/t4975.scala b/tests/pending/pos/t4975.scala deleted file mode 100644 index 3339631dc..000000000 --- a/tests/pending/pos/t4975.scala +++ /dev/null @@ -1,12 +0,0 @@ -object ImplicitScope { - class A[T] - - def foo: Unit = { - trait B - object B { - implicit def ab: ImplicitScope.A[B] = new A[B] - } - - implicitly[A[B]] // Error - } -} diff --git a/tests/pending/pos/t5012.scala b/tests/pending/pos/t5012.scala deleted file mode 100644 index 84404495c..000000000 --- a/tests/pending/pos/t5012.scala +++ /dev/null @@ -1,12 +0,0 @@ -class D { - object p // (program point 1) -} - -class C { - def m: D = { - if ("abc".length == 0) { - object p // (program point 2) - } - null - } -} diff --git a/tests/pending/pos/t5022.scala b/tests/pending/pos/t5022.scala deleted file mode 100644 index 5db71c656..000000000 --- a/tests/pending/pos/t5022.scala +++ /dev/null @@ -1,22 +0,0 @@ -class ForSomeVsUnapply { - def test: Unit = { - def makeWrap: Wrap = ??? - def useRep[e](rep: (e, X[e])) = () - - val repUnapply = Wrap.unapply(makeWrap).get - useRep(repUnapply) // okay - - val Wrap(rep0) = makeWrap - useRep(rep0) // error - - val rep = makeWrap match { - case Wrap(r) => r - }; - - useRep(rep) // error - } -} - -class X[e] - -case class Wrap(rep: (e, X[e]) forSome { type e }) diff --git a/tests/pending/pos/t5029.scala b/tests/pending/pos/t5029.scala deleted file mode 100644 index f32d0c650..000000000 --- a/tests/pending/pos/t5029.scala +++ /dev/null @@ -1,3 +0,0 @@ -object Test { - (Vector(): Seq[_]) match { case List() => true; case Nil => false } -} diff --git a/tests/pending/pos/t5041.scala b/tests/pending/pos/t5041.scala deleted file mode 100644 index 78a1b27d5..000000000 --- a/tests/pending/pos/t5041.scala +++ /dev/null @@ -1,9 +0,0 @@ -case class Token(text: String, startIndex: Int) - -object Comment { - def unapply(s: String): Option[Token] = None -} - -object HiddenTokens { - "foo" match { case Comment(_) => } -} diff --git a/tests/pending/pos/t5082.scala b/tests/pending/pos/t5082.scala deleted file mode 100644 index 63eeda38b..000000000 --- a/tests/pending/pos/t5082.scala +++ /dev/null @@ -1,14 +0,0 @@ -trait Something[T] -object Test { class A } -case class Test() extends Something[Test.A] - -object User { - val Test() = Test() -} - -object Wrap { - trait Something[T] - object Test { class A } - case class Test(a: Int, b: Int)(c: String) extends Something[Test.A] - val Test(x, y) = Test(1, 2)(""); (x + y).toString -} diff --git a/tests/pending/pos/t5119.scala b/tests/pending/pos/t5119.scala deleted file mode 100644 index 39f626e53..000000000 --- a/tests/pending/pos/t5119.scala +++ /dev/null @@ -1,13 +0,0 @@ -import collection.mutable - -object Test { - class IMap0[K[_], V[_]](backing: Map[K[_], V[_]]) { - def mapSeparate[VL[_], VR[_]](f: V[_] => ({type l[T] = Either[VL[T], VR[T]]})#l[_] ) = { - backing.view.map { case (k,v) => f(v) match { - case Left(l) => Left((k, l)) - case Right(r) => Right((k, r)) - } - } - } - } -} diff --git a/tests/pending/pos/t5130.scala b/tests/pending/pos/t5130.scala deleted file mode 100644 index 676d3c705..000000000 --- a/tests/pending/pos/t5130.scala +++ /dev/null @@ -1,46 +0,0 @@ -import scala.language.reflectiveCalls - -class A { - this_a => - - def b = new B - class B { def a: this_a.type = this_a } -} -trait A2 { def c = () } - -object Test { - val v1 = new A { def c = () } - val v2 = new A with A2 { } - val v3: A { def c: Unit } = null - def d1 = new A { def c = () } - def d2 = new A with A2 { } - def d3: A { def c: Unit } = null - var x1 = new A { def c = () } - var x2 = new A with A2 { } - var x3: A { def c: Unit } = null - - def main(args: Array[String]): Unit = { - val mv1 = new A { def c = () } - val mv2 = new A with A2 { } - val mv3: A { def c: Unit } = null - def md1 = new A { def c = () } - def md2 = new A with A2 { } - def md3: A { def c: Unit } = null - - v1.b.a.c - v2.b.a.c - v3.b.a.c - d1.b.a.c - d2.b.a.c - d3.b.a.c - x1.b.a.c - x2.b.a.c - x3.b.a.c - mv1.b.a.c - mv2.b.a.c - mv3.b.a.c - md1.b.a.c - md2.b.a.c - md3.b.a.c - } -} diff --git a/tests/pending/pos/t5156.scala b/tests/pending/pos/t5156.scala deleted file mode 100644 index 41b1c296e..000000000 --- a/tests/pending/pos/t5156.scala +++ /dev/null @@ -1,21 +0,0 @@ -sealed trait HList -final case class HCons[H, T <: HList](head : H, tail : T) extends HList -case object HNil extends HList - -object HList { - type ::[H, T <: HList] = HCons[H, T] - type HNil = HNil.type - - implicit def hlistOps[L <: HList](l : L): AnyRef{def ::[H](h: H): HList.::[H,L]; def last(implicit last: HList.Last[L]): Unit} = new { - def ::[H](h : H) : H :: L = HCons(h, l) - def last(implicit last : Last[L]): Unit = {} - } - - class Last[L <: HList] - implicit def hsingleLast[H]: HList.Last[HList.::[H,HList.HNil]] = new Last[H :: HNil] - implicit def hlistLast[H, T <: HList](implicit lt : Last[T]): HList.Last[HList.::[H,T]] = new Last[H :: T] - - type III = Int :: Int :: Int :: HNil - val iii : III = 0 :: 0 :: 0 :: HNil - val l = iii.last -} diff --git a/tests/pending/pos/t533.scala b/tests/pending/pos/t533.scala deleted file mode 100644 index 9bc9995d9..000000000 --- a/tests/pending/pos/t533.scala +++ /dev/null @@ -1,11 +0,0 @@ -import scala.actors._ - -object test extends Actor { - def act(): Unit = { - receive { - case TIMEOUT => Console.println("TIMEOUT") - //case _ => Console.println("_") - } - } -} - diff --git a/tests/pending/pos/t5541.scala b/tests/pending/pos/t5541.scala deleted file mode 100644 index 54e2b6518..000000000 --- a/tests/pending/pos/t5541.scala +++ /dev/null @@ -1,61 +0,0 @@ -package philips.adolf.paul - -trait Sys[ S <: Sys[ S ]] { - type Tx -} - -object HASkipList { - sealed trait NodeLike[ S <: Sys[ S ], @specialized( Int ) A ] { - def size : Int - def key( i: Int ): A - } - sealed trait Node[ S <: Sys[ S ], @specialized( Int ) A ] extends NodeLike[ S, A ] { - def isLeaf : Boolean - def isBranch : Boolean - def asBranch : Branch[ S, A ] - } - sealed trait BranchLike[ S <: Sys[ S ], @specialized( Int ) A ] extends NodeLike[ S, A ] { - def down( i: Int )( implicit tx: S#Tx ) : Node[ S, A ] = sys.error("") - } - sealed trait HeadOrBranch[ S <: Sys[ S ], A ] - final class Branch[ S <: Sys[ S ], @specialized( Int ) A ]() - extends BranchLike[ S, A ] with HeadOrBranch[ S, A ] with Node[ S, A ] { - def size:Int=1234 - def key(i: Int):A=sys.error("TODO") - def isLeaf : Boolean = false - def isBranch : Boolean = true - def asBranch : Branch[ S, A ] = this - } -} -sealed trait HASkipList[ S <: Sys[ S ], @specialized( Int ) A ] - -class HASkipListView[ S <: Sys[ S ], A ]( private val l: HASkipList[ S, A ])( implicit system: S ) { - import HASkipList.Node - private def buildBoxMap( n: Node[ S, A ], isRight: Boolean )( implicit tx: S#Tx ) : (Box, NodeBox) = { - val sz = n.size - val szm = sz - 1 - val keys = IndexedSeq.tabulate( sz ) { i => - val key = n.key( i ) - (key, if ( isRight && i == szm ) "M" else key.toString) - } - val chbo = if ( n.isLeaf ) None else { - val nb = n.asBranch - Some( IndexedSeq.tabulate( sz )( i => buildBoxMap( nb.down( i ), isRight && (i == szm) ))) - } - val b = NodeBox( n, keys, chbo.map( _.map( _._2 ))) - val bb = chbo match { - case Some( chbt ) => - val chb = chbt.map( _._1 ) - val h = Horiz( bs = chb ) - Vert( bs = IndexedSeq[Box]( b, h )) - case None => b - } - - (bb, b) - } - - private trait Box - private case class Horiz( spacing: Int = 20, bs: IndexedSeq[ Box ]) extends Box - private final case class Vert( spacing: Int = 20, bs: IndexedSeq[ Box ]) extends Box - private final case class NodeBox( n: Node[ S, A ], keys: IndexedSeq[ (A, String) ], downs: Option[ IndexedSeq[ NodeBox ]]) extends Box -} diff --git a/tests/pending/pos/t5626.scala b/tests/pending/pos/t5626.scala deleted file mode 100644 index c501dfbe6..000000000 --- a/tests/pending/pos/t5626.scala +++ /dev/null @@ -1,12 +0,0 @@ -class C { - val blob = { - new { case class Foo() } - } - val blub = { - class Inner { case class Foo() } - new Inner - } - - val foo = blob.Foo() - val bar = blub.Foo() -} diff --git a/tests/pending/pos/t5654.scala b/tests/pending/pos/t5654.scala deleted file mode 100644 index 1f8d05bfe..000000000 --- a/tests/pending/pos/t5654.scala +++ /dev/null @@ -1,13 +0,0 @@ -class T(val a: Array[_]) - -class U { - val a = Array(Array(1, 2), Array("a","b")) -} - -class T1 { val a: Array[_] = Array(1) } - -case class Bomb(a: Array[_]) -case class Bomb2(a: Array[T] forSome { type T }) -class Okay1(a: Array[_]) -case class Okay2(s: Seq[_]) - diff --git a/tests/pending/pos/t566.scala b/tests/pending/pos/t566.scala deleted file mode 100644 index 6a2a0a362..000000000 --- a/tests/pending/pos/t566.scala +++ /dev/null @@ -1,4 +0,0 @@ -object test { - def foo[a](ys: List[a]): List[a] = - return ys.head :: ys.tail -} diff --git a/tests/pending/pos/t5720-ownerous.scala b/tests/pending/pos/t5720-ownerous.scala deleted file mode 100644 index e171ce9c2..000000000 --- a/tests/pending/pos/t5720-ownerous.scala +++ /dev/null @@ -1,56 +0,0 @@ - -/* - * The block under qual$1 must be owned by it. - * In the sample bug, the first default arg generates x$4, - * the second default arg generates qual$1, hence the maximal - * minimization. - * - <method> <triedcooking> def model: C.this.M = { - val qual$1: C.this.M = scala.Option.apply[C.this.M]({ - val x$1: lang.this.String("foo") = "foo"; - val x$2: String = C.this.M.apply$default$2("foo"); - C.this.M.apply("foo")(x$2) -}).getOrElse[C.this.M]({ - val x$3: lang.this.String("bar") = "bar"; - val x$4: String = C.this.M.apply$default$2("bar"); - C.this.M.apply("bar")(x$4) - }); - val x$5: lang.this.String("baz") = "baz"; - val x$6: String = qual$1.copy$default$2("baz"); - qual$1.copy("baz")(x$6) - } - */ -class C { - case class M(currentUser: String = "anon")(val message: String = "empty") - val m = M("foo")() - - // reported - //def model = Option(M("foo")()).getOrElse(M("bar")()).copy(currentUser = "")() - - // the bug - def model = Option(m).getOrElse(M("bar")()).copy("baz")("empty") - - // style points for this version - def modish = ((null: Option[M]) getOrElse new M()()).copy()("empty") - - // various simplifications are too simple - case class N(currentUser: String = "anon") - val n = N("fun") - def nudel = Option(n).getOrElse(N()).copy() -} - -object Test { - def main(args: Array[String]): Unit = { - val c = new C - println(c.model.currentUser) - println(c.model.message) - } -} -/* -symbol value x$4$1 does not exist in badcopy.C.model -at scala.reflect.internal.SymbolTable.abort(SymbolTable.scala:45) -at scala.tools.nsc.Global.abort(Global.scala:202) -at scala.tools.nsc.backend.icode.GenICode$ICodePhase.liftedTree2$1(GenICode.scala:998) -at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:992) -*/ - diff --git a/tests/pending/pos/t5729.scala b/tests/pending/pos/t5729.scala deleted file mode 100644 index 944aa04d8..000000000 --- a/tests/pending/pos/t5729.scala +++ /dev/null @@ -1,6 +0,0 @@ -trait T[X] -object Test { - def join(in: Seq[T[_]]): Int = ??? - def join[S](in: Seq[T[S]]): String = ??? - join(null: Seq[T[_]]) -} diff --git a/tests/pending/pos/t573.scala b/tests/pending/pos/t573.scala deleted file mode 100644 index 1aadb446c..000000000 --- a/tests/pending/pos/t573.scala +++ /dev/null @@ -1,43 +0,0 @@ -package lampion.collections; - -object DirX { - abstract class Dir { - def reverse : Dir; - } - object BEFORE extends Dir { - def reverse = AFTER; - } - object AFTER extends Dir { - def reverse = BEFORE; - } -} - -import DirX._; - -abstract class Linked { - type Node <: Node0; - - abstract class Node0 { - self: Node => - - var next : Node = _; - var prev : Node = _; - - def get(dir : Dir) = if (dir == BEFORE) prev; else next; - private def set(dir : Dir, node : Node) = - if (dir == BEFORE) prev = node; else next = node; - - def link(dir : Dir, node : Node) = { - assert(get(dir) == null); - assert(node.get(dir.reverse) == null); - set(dir, node); - node.set(dir.reverse, self); - } - - - def end(dir : Dir) : Node = { - if (get(dir) == null) this; - else get(dir).end(dir); - } - } -} diff --git a/tests/pending/pos/t5845.scala b/tests/pending/pos/t5845.scala index 823c722c1..b747a025e 100644 --- a/tests/pending/pos/t5845.scala +++ b/tests/pending/pos/t5845.scala @@ -4,13 +4,13 @@ class Num[T] { } class A { - implicit def infixOps[T, CC[X] <: Num[X]](lhs: T)(implicit num: CC[T]) = num.mkOps - implicit val n1 = new Num[Int] { } - println(5 +++ 5) + implicit def infixOps[T, CC[X] <: Num[X]](lhs: T)(implicit num: CC[T]): num.Ops = num.mkOps + implicit val n1: Num[Int] = new Num[Int] { } + println(5 +++ 5) // should dependent be implicits forbidden? } class B { implicit def infixOps[T, CC[X] <: Num[X]](lhs: T)(implicit num: CC[T]) : CC[T]#Ops = num.mkOps - implicit val n1 = new Num[Int] {} + implicit val n1: Num[Int] = new Num[Int] {} println(5 +++ 5) } diff --git a/tests/pending/pos/t5859.scala b/tests/pending/pos/t5859.scala deleted file mode 100644 index 2a31e68ee..000000000 --- a/tests/pending/pos/t5859.scala +++ /dev/null @@ -1,15 +0,0 @@ - -class A { - def f(xs: List[Int], ys: AnyRef*) = () - def f(xs: AnyRef*) = () - - f() - f(List[AnyRef](): _*) - f(List(): _*) - f(Nil: _*) - f(Array(): _*) - f(Array[AnyRef](): _*) - f(List(1)) - f(List(1), Nil: _*) - f(List(1), Array(): _*) -} diff --git a/tests/pending/pos/t5877.scala b/tests/pending/pos/t5877.scala deleted file mode 100644 index 939013cd0..000000000 --- a/tests/pending/pos/t5877.scala +++ /dev/null @@ -1,14 +0,0 @@ -package foo { - class Foo - - object Test { - new Foo().huzzah - } -} - -package object foo { - // Crasher: No synthetics for method EnrichedFoo2: synthetics contains - implicit class EnrichedFoo2(value: Foo) { - def huzzah = "" - } -} diff --git a/tests/pending/pos/t5877b.scala b/tests/pending/pos/t5877b.scala deleted file mode 100644 index 43a2ea2f0..000000000 --- a/tests/pending/pos/t5877b.scala +++ /dev/null @@ -1,13 +0,0 @@ -package foo - -class Foo - -object Test { - new Foo().huzzah -} - -object `package` { - implicit class EnrichedFoo2(value: Foo) { - def huzzah = "" - } -} diff --git a/tests/pending/pos/t5900a.scala b/tests/pending/pos/t5900a.scala deleted file mode 100644 index cb02f67fb..000000000 --- a/tests/pending/pos/t5900a.scala +++ /dev/null @@ -1,9 +0,0 @@ -case class Transition[S](x: S) - -object C - -object Test { - (??? : Any) match { - case Transition(C) => - } -} diff --git a/tests/pending/pos/t5932.scala b/tests/pending/pos/t5932.scala deleted file mode 100644 index d824523d5..000000000 --- a/tests/pending/pos/t5932.scala +++ /dev/null @@ -1,15 +0,0 @@ -class A - -case object B extends A - -object Test { - val x1 = (B: A) - - println(x1 == B) // no warning - println(B == x1) // no warning - - val x2 = (B: A with Product) - - println(x2 == B) // no warning - println(B == x2) // spurious warning: "always returns false" -} diff --git a/tests/pending/pos/t596.scala b/tests/pending/pos/t596.scala deleted file mode 100644 index b1b5471b2..000000000 --- a/tests/pending/pos/t596.scala +++ /dev/null @@ -1,7 +0,0 @@ -trait T1 { - protected abstract class C -} - -trait T2 extends T1 { - class D extends C -} diff --git a/tests/pending/pos/t5967.scala b/tests/pending/pos/t5967.scala deleted file mode 100644 index cd219c031..000000000 --- a/tests/pending/pos/t5967.scala +++ /dev/null @@ -1,6 +0,0 @@ -object Test { - def f(a: Int*) = a match { - case 0 :: Nil => "List(0)! My favorite Seq!" - case _ => a.toString - } -} diff --git a/tests/pending/pos/t6014.scala b/tests/pending/pos/t6014.scala deleted file mode 100644 index 26e258a27..000000000 --- a/tests/pending/pos/t6014.scala +++ /dev/null @@ -1,13 +0,0 @@ -object Test { - case class CC[T](key: T) - type Alias[T] = Seq[CC[T]] - - def f(xs: Seq[CC[_]]) = xs map { case CC(x) => CC(x) } // ok - def g(xs: Alias[_]) = xs map { case CC(x) => CC(x) } // fails - // ./a.scala:11: error: missing parameter type for expanded function - // The argument types of an anonymous function must be fully known. (SLS 8.5) - // Expected type was: ? - // def g(xs: Alias[_]) = xs map { case CC(x) => CC(x) } // fails - // ^ - // one error found -} diff --git a/tests/pending/pos/t604.scala b/tests/pending/pos/t604.scala deleted file mode 100644 index fb90d5ae3..000000000 --- a/tests/pending/pos/t604.scala +++ /dev/null @@ -1,8 +0,0 @@ -object Test -{ - type T = Foo.type - object Foo - - def main(argv : Array[String]) : Unit = { - } -} diff --git a/tests/pending/pos/t6089b.scala b/tests/pending/pos/t6089b.scala deleted file mode 100644 index 9378a74a0..000000000 --- a/tests/pending/pos/t6089b.scala +++ /dev/null @@ -1,18 +0,0 @@ -// this crazy code simply tries to nest pattern matches so that the last call is in a tricky-to-determine -// tail position (my initial tightenign of tailpos detection for SI-6089 ruled this out) -class BKTree { - @annotation.tailrec - final def -?-[AA](a: AA): Boolean = this match { - case BKTreeEmpty => false - case BKTreeNode(v) => { - val d = 1 - d == 0 || ( Map(1 -> this,2 -> this,3 -> this) get d match { - case None => false - case Some(w) => w -?- a // can tail call here (since || is shortcutting) - }) - } - } -} - -object BKTreeEmpty extends BKTree -case class BKTreeNode[A](v: A) extends BKTree diff --git a/tests/pending/pos/t6117.scala b/tests/pending/pos/t6117.scala deleted file mode 100644 index 6aca84f72..000000000 --- a/tests/pending/pos/t6117.scala +++ /dev/null @@ -1,19 +0,0 @@ -package test - -trait ImportMe { - def foo(i: Int) = 1 - def foo(s: String) = 2 -} - -class Test(val importMe: ImportMe) { - import importMe._ - import importMe._ - - // A.scala:12: error: reference to foo is ambiguous; - // it is imported twice in the same scope by - // import importMe._ - // and import importMe._ - // println(foo(1)) - // ^ - println(foo(1)) -} diff --git a/tests/pending/pos/t6123-explaintypes-implicits.scala b/tests/pending/pos/t6123-explaintypes-implicits.scala deleted file mode 100644 index 86f522728..000000000 --- a/tests/pending/pos/t6123-explaintypes-implicits.scala +++ /dev/null @@ -1,13 +0,0 @@ -object ImplicitBugReport { - trait Exp[+T] - trait CanBuildExp[-Elem, +To] extends (Exp[Elem] => To) - trait TraversableExp[T, ExpT <: Exp[T]] extends Exp[Traversable[T]] - - implicit def canBuildExp[T]: CanBuildExp[T, Exp[T]] = ??? - implicit def canBuildExpTrav[T, ExpT <: Exp[T]](implicit c: CanBuildExp[T, ExpT]): CanBuildExp[Traversable[T], TraversableExp[T, ExpT]] = ??? - def toExpTempl[T, That](t: T)(implicit c: CanBuildExp[T, That]): That = ??? - - def testBug(): Unit = { - val a1 = toExpTempl(Seq(1, 2, 3, 5)) - } -} diff --git a/tests/pending/pos/t6145.scala b/tests/pending/pos/t6145.scala deleted file mode 100644 index 4161a24b5..000000000 --- a/tests/pending/pos/t6145.scala +++ /dev/null @@ -1,11 +0,0 @@ -object Test { - // the existential causes a cast and the cast makes searchClass not be in tail position - // can we get rid of the useless cast? - @annotation.tailrec - final def searchClass: Class[_] = { - "packageName" match { - case _ => - searchClass - } - } -} diff --git a/tests/pending/pos/t6169/Exist.java b/tests/pending/pos/t6169/Exist.java deleted file mode 100644 index dfc6b36b3..000000000 --- a/tests/pending/pos/t6169/Exist.java +++ /dev/null @@ -1,4 +0,0 @@ -public class Exist<T extends String> { - // java helpfully re-interprets Exist<?> as Exist<? extends String> - public Exist<?> foo() { throw new RuntimeException(); } -}
\ No newline at end of file diff --git a/tests/pending/pos/t6169/ExistF.java b/tests/pending/pos/t6169/ExistF.java deleted file mode 100644 index 70fabd74c..000000000 --- a/tests/pending/pos/t6169/ExistF.java +++ /dev/null @@ -1,4 +0,0 @@ -public class ExistF<T extends ExistF<T>> { - // java helpfully re-interprets ExistF<?> as ExistF<?0 extends ExistF<?0>> - public ExistF<?> foo() { throw new RuntimeException(); } -}
\ No newline at end of file diff --git a/tests/pending/pos/t6169/ExistIndir.java b/tests/pending/pos/t6169/ExistIndir.java deleted file mode 100644 index e66d1698c..000000000 --- a/tests/pending/pos/t6169/ExistIndir.java +++ /dev/null @@ -1,4 +0,0 @@ -public class ExistIndir<T extends String, U extends T> { - // java helpfully re-interprets ExistIndir<?> as ExistIndir<? extends String> - public ExistIndir<?, ?> foo() { throw new RuntimeException(); } -} diff --git a/tests/pending/pos/t6169/OP.java b/tests/pending/pos/t6169/OP.java deleted file mode 100644 index 15e4c5640..000000000 --- a/tests/pending/pos/t6169/OP.java +++ /dev/null @@ -1 +0,0 @@ -public abstract class OP<T> { } diff --git a/tests/pending/pos/t6169/Skin.java b/tests/pending/pos/t6169/Skin.java deleted file mode 100644 index 780de1ee0..000000000 --- a/tests/pending/pos/t6169/Skin.java +++ /dev/null @@ -1 +0,0 @@ -public interface Skin<C extends Skinnable> { } diff --git a/tests/pending/pos/t6169/Skinnable.java b/tests/pending/pos/t6169/Skinnable.java deleted file mode 100644 index f91eaa30d..000000000 --- a/tests/pending/pos/t6169/Skinnable.java +++ /dev/null @@ -1,3 +0,0 @@ -public interface Skinnable { - OP<Skin<?>> skinProperty(); -} diff --git a/tests/pending/pos/t6169/skinnable.scala b/tests/pending/pos/t6169/skinnable.scala deleted file mode 100644 index 08204f29d..000000000 --- a/tests/pending/pos/t6169/skinnable.scala +++ /dev/null @@ -1,14 +0,0 @@ -object ObjectProperty { - implicit def jfxObjectProperty2sfx[T](p: OP[T]) = new ObjectProperty[T](p) -} - -class ObjectProperty[T](val delegate: OP[T]) - -trait TestWildcardBoundInference { - def delegate: Skinnable - def skin: ObjectProperty[Skin[_ /* inferred: <: Skinnable */]] = ObjectProperty.jfxObjectProperty2sfx(delegate.skinProperty) - skin: ObjectProperty[Skin[_ <: Skinnable]] - - def skinCheckInference = delegate.skinProperty - skinCheckInference: ObjectProperty[Skin[_ <: Skinnable]] -} diff --git a/tests/pending/pos/t6169/t6169.scala b/tests/pending/pos/t6169/t6169.scala deleted file mode 100644 index 84b2d2dad..000000000 --- a/tests/pending/pos/t6169/t6169.scala +++ /dev/null @@ -1,7 +0,0 @@ -class Test { - class MyExist extends ExistF[MyExist] - // SI-8197, SI-6169: java infers the bounds of existentials, so we have to as well now that SI-1786 is fixed... - def stringy: Exist[_ <: String] = (new Exist[String]).foo - def fbounded: (ExistF[t] forSome {type t <: ExistF[t] }) = (new MyExist).foo - def indir: ExistIndir[_ <: String, _ <: String] = (new ExistIndir[String, String]).foo -} diff --git a/tests/pending/pos/t6184.scala b/tests/pending/pos/t6184.scala deleted file mode 100644 index 386399963..000000000 --- a/tests/pending/pos/t6184.scala +++ /dev/null @@ -1,7 +0,0 @@ -trait Foo[TroubleSome] { - type T <: Foo[TroubleSome] - - this match { - case e: Foo[_]#T => ??? - } -} diff --git a/tests/pending/pos/t6208.scala b/tests/pending/pos/t6208.scala deleted file mode 100644 index dac571346..000000000 --- a/tests/pending/pos/t6208.scala +++ /dev/null @@ -1,4 +0,0 @@ -object Test { - val col = collection.mutable.Queue(1,2,3) - val WORK: collection.mutable.Queue[Int] = col filterNot (_ % 2 == 0) -} diff --git a/tests/pending/pos/t6225.scala b/tests/pending/pos/t6225.scala deleted file mode 100644 index d3d30d9e1..000000000 --- a/tests/pending/pos/t6225.scala +++ /dev/null @@ -1,20 +0,0 @@ - -package library.x { - class X { - class Foo - implicit val foo: Foo = new Foo - } -} -package library { - package object y extends library.x.X -} - -object ko { - import library.y.{Foo, foo} - implicitly[Foo] -} - -object ko2 { - import library.y._ - implicitly[Foo] -} diff --git a/tests/pending/pos/t6231.scala b/tests/pending/pos/t6231.scala deleted file mode 100644 index 1e5b4e0e1..000000000 --- a/tests/pending/pos/t6231.scala +++ /dev/null @@ -1,15 +0,0 @@ -object Bug { - def bar(ev: Any) = { - trait X { - def qux = { () => ev } - } - new X {}.qux() - - // workaround - trait Y { - val ev2 = ev // manually capture `ev` so that `ev2` is added to the trait interface. - def qux = { () => ev2 } - } - } -} - diff --git a/tests/pending/pos/t6231b.scala b/tests/pending/pos/t6231b.scala deleted file mode 100644 index b4ddfe785..000000000 --- a/tests/pending/pos/t6231b.scala +++ /dev/null @@ -1,8 +0,0 @@ -class Test { - def f1(t: String) = { - trait T { - def xs = Nil map (_ => t) - } - () - } -} diff --git a/tests/pending/pos/t6335.scala b/tests/pending/pos/t6335.scala deleted file mode 100644 index eb052db19..000000000 --- a/tests/pending/pos/t6335.scala +++ /dev/null @@ -1,25 +0,0 @@ -object E extends Z { - def X = 3 - implicit class X(val i: Int) { - def xx = i - } - - def Y(a: Any) = 0 - object Y - implicit class Y(val i: String) { def yy = i } - - implicit class Z(val i: Boolean) { def zz = i } -} - -trait Z { - def Z = 0 -} - -object Test { - import E._ - 0.xx - - "".yy - - true.zz -} diff --git a/tests/pending/pos/t6367.scala b/tests/pending/pos/t6367.scala deleted file mode 100644 index 1214be741..000000000 --- a/tests/pending/pos/t6367.scala +++ /dev/null @@ -1,34 +0,0 @@ -package play.api.libs.json.util - -trait FunctionalCanBuild[M[_]]{ - def apply[A,B](ma:M[A], mb:M[B]):M[A ~ B] -} - -trait Variant[M[_]] - -trait Functor[M[_]] extends Variant[M]{ - def fmap[A,B](m:M[A], f: A => B): M[B] -} - -case class ~[A,B](_1:A,_2:B) - -class FunctionalBuilder[M[_]](canBuild:FunctionalCanBuild[M]){ - class CanBuild20[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20]( - m1:M[A1 ~ A2 ~ A3 ~ A4 ~ A5 ~ A6 ~ A7 ~ A8 ~ A9 ~ A10 ~ A11 ~ A12 ~ A13 ~ A14 ~ A15 ~ A16 ~ A17 ~ A18 ~ A19], - m2:M[A20] - ) { - - def ~[A21](m3:M[A21]) = new CanBuild21(canBuild(m1,m2),m3) - - def apply[B](f: (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20) => B)(implicit fu:Functor[M]): M[B] = - fu.fmap[A1 ~ A2 ~ A3 ~ A4 ~ A5 ~ A6 ~ A7 ~ A8 ~ A9 ~ A10 ~ A11 ~ A12 ~ A13 ~ A14 ~ A15 ~ A16 ~ A17 ~ A18 ~ A19 ~ A20, B]( - canBuild(m1, m2), - { case a1 ~ a2 ~ a3 ~ a4 ~ a5 ~ a6 ~ a7 ~ a8 ~ a9 ~ a10 ~ a11 ~ a12 ~ a13 ~ a14 ~ a15 ~ a16 ~ a17 ~ a18 ~ a19 ~ a20 => - f(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) } - ) - } - - class CanBuild21[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21](m1:M[A1 ~ A2 ~ A3 ~ A4 ~ A5 ~ A6 ~ A7 ~ A8 ~ A9 ~ A10 ~ A11 ~ A12 ~ A13 ~ A14 ~ A15 ~ A16 ~ A17 ~ A18 ~ A19 ~ A20], m2:M[A21]){ - } - -} diff --git a/tests/pending/pos/t6575a.scala b/tests/pending/pos/t6575a.scala deleted file mode 100644 index f128714da..000000000 --- a/tests/pending/pos/t6575a.scala +++ /dev/null @@ -1,15 +0,0 @@ -trait X { def foo: PartialFunction[Int, Int] } - -trait Y extends X { - // Inferred type was AbstractPartialFunction[Int, Int] with Serializable - abstract override def foo = { case i => super.foo(i) * 2 } -} -trait Z extends X { - // ditto - abstract override def foo = { case i => super.foo(i) + 3 } -} - -trait Comb extends Y with Z { - // ... which led to a type error here. - abstract override def foo: PartialFunction[Int, Int] = { case i => super.foo(i) - 2 } -} diff --git a/tests/pending/pos/t6600.scala b/tests/pending/pos/t6600.scala deleted file mode 100644 index 1e8137894..000000000 --- a/tests/pending/pos/t6600.scala +++ /dev/null @@ -1,8 +0,0 @@ -final class Natural extends scala.math.ScalaNumber with scala.math.ScalaNumericConversions { - def intValue(): Int = 0 - def longValue(): Long = 0L - def floatValue(): Float = 0.0F - def doubleValue(): Double = 0.0D - def isWhole(): Boolean = false - def underlying() = this -} diff --git a/tests/pending/pos/t661.scala b/tests/pending/pos/t661.scala deleted file mode 100644 index 3a447241f..000000000 --- a/tests/pending/pos/t661.scala +++ /dev/null @@ -1,17 +0,0 @@ -package test; - -object test { - abstract class A { - abstract class C { - type M; - def foo(n : M) : Unit = {} - } - } - trait B extends A { - type N; - trait C extends super.C { - type M = N; - override def foo(n : M) : Unit = super.foo(n); - } - } -} diff --git a/tests/pending/pos/t6664b.scala b/tests/pending/pos/t6664b.scala deleted file mode 100644 index a62286683..000000000 --- a/tests/pending/pos/t6664b.scala +++ /dev/null @@ -1,5 +0,0 @@ -object T { - def A(s: String): A = new A(3, s) - def A(i: Int): A = A(i, "abc") - case class A(i: Int, s: String) -} diff --git a/tests/pending/pos/t697.scala b/tests/pending/pos/t697.scala deleted file mode 100644 index 6caea418d..000000000 --- a/tests/pending/pos/t697.scala +++ /dev/null @@ -1,3 +0,0 @@ -object test { - val x = 10 == 20 == 30 < 10; -} diff --git a/tests/pending/pos/t6976/Exts_1.scala b/tests/pending/pos/t6976/Exts_1.scala index 9b3a69edd..f5eaeea45 100644 --- a/tests/pending/pos/t6976/Exts_1.scala +++ b/tests/pending/pos/t6976/Exts_1.scala @@ -6,5 +6,5 @@ object Exts { trait Exts { import language.implicitConversions - implicit def AnyExts[T](o: T) = Exts.AnyExts(o) + implicit def AnyExts[T](o: T): Exts.AnyExts[T] = Exts.AnyExts(o) } diff --git a/tests/pending/pos/t6994.scala b/tests/pending/pos/t6994.scala deleted file mode 100644 index d70719642..000000000 --- a/tests/pending/pos/t6994.scala +++ /dev/null @@ -1,8 +0,0 @@ -object Test { - object NF { - def unapply(t: Throwable): Option[Throwable] = None - } - val x = (try { None } catch { case NF(ex) => None }) getOrElse 0 - // Was emitting a spurious warning post typer: - // "This catches all Throwables. If this is really intended, use `case ex6 : Throwable` to clear this warning." -} diff --git a/tests/pending/pos/t7011.scala b/tests/pending/pos/t7011.scala deleted file mode 100644 index f1f71b9be..000000000 --- a/tests/pending/pos/t7011.scala +++ /dev/null @@ -1,7 +0,0 @@ -object bar { - def foo: Unit = { - lazy val x = 42 - - {()=>x} - } -} diff --git a/tests/pending/pos/t703.scala b/tests/pending/pos/t703.scala deleted file mode 100644 index b24d70c92..000000000 --- a/tests/pending/pos/t703.scala +++ /dev/null @@ -1,29 +0,0 @@ -object Go { - trait A { - def f : Unit; // = Console.println("A"); - } - trait B extends A { - abstract override def f = { - super.f; - Console.println("B"); - } - } - trait C extends A { - abstract override def f = { - super.f; - Console.println("C"); - } - } - trait D extends B with C { - abstract override def f = { - super.f; - } - } - class Super extends A { - def f: Unit = Console.println("A") - } - def main(args : Array[String]) : Unit = { - object d extends Super with D - d.f; - } -} diff --git a/tests/pending/pos/t704.scala b/tests/pending/pos/t704.scala deleted file mode 100644 index aedd8c03a..000000000 --- a/tests/pending/pos/t704.scala +++ /dev/null @@ -1,23 +0,0 @@ -trait D { - private val x = "xxxx should appear twice" - private object xxxx { Console.println(x) } - def get_xxxx: AnyRef = xxxx -} - -trait E extends D { - def f(): Unit = { - val y = "yyyy should appear twice" - object yyyy { - val x1 = get_xxxx - Console.println(y) - } - yyyy - } -} -class C extends E {} -object Go extends D { - def main(args : Array[String]): Unit = { - new C().f() - new C().f() - } -} diff --git a/tests/pending/pos/t711.scala b/tests/pending/pos/t711.scala deleted file mode 100644 index 4dd604096..000000000 --- a/tests/pending/pos/t711.scala +++ /dev/null @@ -1,14 +0,0 @@ -abstract class Component - -class Button extends Component { - def sayHey: Unit = Console.println("Hey, I'm a button") } - -abstract class Origin { - val delegate: Component } - -object main extends Origin with App { - val delegate: Component { - def sayHey: Unit - } = new Button - delegate.sayHey -} diff --git a/tests/pending/pos/t7126.scala b/tests/pending/pos/t7126.scala deleted file mode 100644 index edac56d28..000000000 --- a/tests/pending/pos/t7126.scala +++ /dev/null @@ -1,11 +0,0 @@ -import language._ - -object Test { - type T = Any - boom(???): Option[T] // SOE - def boom[CC[U]](t : CC[T]): Option[CC[T]] = None - - // okay - foo(???): Option[Any] - def foo[CC[U]](t : CC[Any]): Option[CC[Any]] = None -} diff --git a/tests/pending/pos/t7226.scala b/tests/pending/pos/t7226.scala deleted file mode 100644 index 1b7e2549c..000000000 --- a/tests/pending/pos/t7226.scala +++ /dev/null @@ -1,26 +0,0 @@ -trait HK { - type Rep[X] - - // okay - def unzip2[A, B](ps: Rep[List[(A, B)]]): Unit - unzip2(null.asInstanceOf[Rep[List[(Int, String)]]]) - - // okay - def unzipHK[A, B, C[_]](ps: Rep[C[(A, B)]]): Unit - unzipHK(null.asInstanceOf[Rep[List[(Int, String)]]]) - - def unzipHKRet0[A, C[_]](ps: C[A]): C[Int] - def ls: List[String] - unzipHKRet0(ls) - - // fail - def unzipHKRet[A, C[_]](ps: Rep[C[A]]): Rep[C[Int]] - def rls: Rep[List[String]] - unzipHKRet(rls) -} - -trait HK1 { - type Rep[A] - def unzip1[A, B, C[_]](ps: Rep[C[(A, B)]]): (Rep[C[A]], Rep[C[B]]) - def doUnzip1[A, B](ps: Rep[List[(A, B)]]) = unzip1(ps) -} diff --git a/tests/pending/pos/t7285a.scala b/tests/pending/pos/t7285a.scala deleted file mode 100644 index 34e79c741..000000000 --- a/tests/pending/pos/t7285a.scala +++ /dev/null @@ -1,83 +0,0 @@ -sealed abstract class Base - -object Test { - case object Up extends Base - - def foo(d1: Base) = - d1 match { - case Up => - } - - // Sealed subtype: ModuleTypeRef <empty>.this.Test.Up.type - // Pattern: UniqueThisType Test.this.type -} - - -object Test1 { - sealed abstract class Base - - object Base { - case object Down extends Base { - } - - case object Up extends Base { - } - - (d1: Base, d2: Base) => - (d1, d2) match { - case (Up, Up) | (Down, Down) => false - case (Down, Up) => true - case (Up, Down) => false - } - } -} - -object Test2 { - sealed abstract class Base - - object Base { - case object Down extends Base { - } - - case object Up extends Base { - } - - (d1: Base, d2: Base) => - (d1) match { - case Up | Down => false - } - } -} - -object Test3 { - sealed abstract class Base - - object Base { - case object Down extends Base - - (d1: Base, d2: Base) => - (d1, d2) match { - case (Down, Down) => false - } - } -} - -object Test4 { - sealed abstract class Base - - object Base { - case object Down extends Base { - } - - case object Up extends Base { - } - - } - import Test4.Base._ - (d1: Base, d2: Base) => - (d1, d2) match { - case (Up, Up) | (Down, Down) => false - case (Down, Test4.Base.Up) => true - case (Up, Down) => false - } -} diff --git a/tests/pending/pos/t7475a.scala b/tests/pending/pos/t7475a.scala deleted file mode 100644 index 810ce9a05..000000000 --- a/tests/pending/pos/t7475a.scala +++ /dev/null @@ -1,11 +0,0 @@ -trait AbstractPublic { - def queue: Any -} -trait ConcretePrivate { - private val queue: Any = () -} - -abstract class Mix - extends ConcretePrivate with AbstractPublic { - final def queue: Any = () -} diff --git a/tests/pending/pos/t7475b.scala b/tests/pending/pos/t7475b.scala deleted file mode 100644 index a34743b8b..000000000 --- a/tests/pending/pos/t7475b.scala +++ /dev/null @@ -1,8 +0,0 @@ -trait U { -} - -trait T { - type TT = Any with T with U - private val priv = 0 - (??? : TT).priv -} diff --git a/tests/pending/pos/t7505.scala b/tests/pending/pos/t7505.scala deleted file mode 100644 index bc8c7fad6..000000000 --- a/tests/pending/pos/t7505.scala +++ /dev/null @@ -1,16 +0,0 @@ -import scala.language.reflectiveCalls - -case class ContextProperty(value: Any) { - type HasToInt = { def toInt:Int } - - def toInt: Int = value match { - case n: HasToInt => n.toInt - } -} - -// was: -// error:7: error during expansion of this match (this is a scalac bug). -// The underlying error was: type mismatch; -// found : Boolean(true) -// required: AnyRef -// def toInt: Int = value match { diff --git a/tests/pending/pos/t7517.scala b/tests/pending/pos/t7517.scala index df4f40130..d0462c48d 100644 --- a/tests/pending/pos/t7517.scala +++ b/tests/pending/pos/t7517.scala @@ -1,3 +1,4 @@ +// Invalid because nested hk type parameters are no longer allowed trait Box[ K[A[x]] ] object Box { diff --git a/tests/pending/pos/t7520.scala b/tests/pending/pos/t7520.scala deleted file mode 100644 index 747f5278e..000000000 --- a/tests/pending/pos/t7520.scala +++ /dev/null @@ -1,10 +0,0 @@ -class A { - val x: Singleton with this.type = this - val y: this.type = x -} - -class B { - val x = "" - val xs: x.type with Singleton = x - val y: x.type = xs -} diff --git a/tests/pending/pos/t758.scala b/tests/pending/pos/t758.scala deleted file mode 100644 index 160bf3717..000000000 --- a/tests/pending/pos/t758.scala +++ /dev/null @@ -1,7 +0,0 @@ -trait A { type T; type M >: T } -trait B extends A { - val x : String; - val u : A { type T = B.this.T } ; - type T = x.type; - type M = u.M -} diff --git a/tests/pending/pos/t7591/Demo.scala b/tests/pending/pos/t7591/Demo.scala deleted file mode 100644 index dd127b881..000000000 --- a/tests/pending/pos/t7591/Demo.scala +++ /dev/null @@ -1,86 +0,0 @@ -/* NEST (New Scala Test) - * Copyright 2007-2013 LAMP/EPFL - * @author Paul Phillips - */ - -import scala.tools.cmd._ - -/** A sample command specification for illustrative purposes. - * First take advantage of the meta-options: - * - * // this command creates an executable runner script "demo" - * % scala scala.tools.cmd.Demo --self-update demo - * - * // this one creates and sources a completion file - note backticks - * % `./demo --bash` - * - * // and now you have a runner with working completion - * % ./demo --<tab> - * --action --defint --int - * --bash --defstr --str - * --defenv --self-update --unary - * - * The normal option configuration is plausibly self-explanatory. - */ -trait DemoSpec extends Spec with Meta.StdOpts with Interpolation { - lazy val referenceSpec = DemoSpec - lazy val programInfo = Spec.Info("demo", "Usage: demo [<options>]", "scala.tools.cmd.Demo") - - help("""Usage: demo [<options>]""") - heading("Unary options:") - - val optIsUnary = "unary" / "a unary option" --? ; - ("action" / "a body which may be run") --> println("Hello, I am the --action body.") - - heading("Binary options:") - val optopt = "str" / "an optional String" --| - val optoptInt = ("int" / "an optional Int") . --^[Int] - val optEnv = "defenv" / "an optional String" defaultToEnv "PATH" - val optDefault = "defstr" / "an optional String" defaultTo "default" - val optDefaultInt = "defint" / "an optional Int" defaultTo -1 - val optExpand = "alias" / "an option which expands" expandTo ("--int", "15") -} - -object DemoSpec extends DemoSpec with Property { - lazy val propMapper = new PropertyMapper(DemoSpec) - - type ThisCommandLine = SpecCommandLine - def creator(args: List[String]) = - new SpecCommandLine(args) { - override def errorFn(msg: String) = { println("Error: " + msg) ; sys.exit(0) } - } -} - -class Demo(args: List[String]) extends DemoSpec with Instance { -// TODO NEEDS MANUAL CHANGE (early initializers) -// BEGIN copied early initializers -val parsed = DemoSpec(args: _*) -// END copied early initializers - - import java.lang.reflect._ - - def helpMsg = DemoSpec.helpMsg - def demoSpecMethods = this.getClass.getMethods.toList - private def isDemo(m: Method) = (m.getName startsWith "opt") && !(m.getName contains "$") && (m.getParameterTypes.isEmpty) - - def demoString(ms: List[Method]) = { - val longest = ms map (_.getName.length) max - val formatStr = " %-" + longest + "s: %s" - val xs = ms map (m => formatStr.format(m.getName, m.invoke(this))) - - xs mkString ("Demo(\n ", "\n ", "\n)\n") - } - - override def toString = demoString(demoSpecMethods filter isDemo) -} - -object Demo { - def main(args: Array[String]): Unit = { - val runner = new Demo(args.toList) - - if (args.isEmpty) - println(runner.helpMsg) - - println(runner) - } -} diff --git a/tests/pending/pos/t7782.scala b/tests/pending/pos/t7782.scala deleted file mode 100644 index 9b98f6ac6..000000000 --- a/tests/pending/pos/t7782.scala +++ /dev/null @@ -1,25 +0,0 @@ -package pack - -object Test { - import O.empty - empty // this will trigger completion of `test` - // with skolemizationLevel = 1 -} - -object O { - // order matters (!!!) - - // this order breaks under 2.10.x - def empty[E]: C[E] = ??? - def empty(implicit a: Any): Any = ??? -} - -abstract class C[E] { - def foo[BB](f: BB): Unit - def test[B](f: B): Any = foo(f) - // error: no type parameters for method foo: (<param> f: BB)scala.this.Unit exist so that it can be applied to arguments (B&1) - // --- because --- - // argument expression's type is not compatible with formal parameter type; - // found : B&1 - // required: ?BB -} diff --git a/tests/pending/pos/t7782b.scala b/tests/pending/pos/t7782b.scala deleted file mode 100644 index 5b1979ec1..000000000 --- a/tests/pending/pos/t7782b.scala +++ /dev/null @@ -1,25 +0,0 @@ -package pack - -object Test { - import O.empty - empty // this will trigger completion of `test` - // with skolemizationLevel = 1 -} - -object O { - // order matters (!!!) - - // this order breaks under 2.11.x - def empty(implicit a: Any): Any = ??? - def empty[E]: C[E] = ??? -} - -abstract class C[E] { - def foo[BB](f: BB): Unit - def test[B](f: B): Any = foo(f) - // error: no type parameters for method foo: (<param> f: BB)scala.this.Unit exist so that it can be applied to arguments (B&1) - // --- because --- - // argument expression's type is not compatible with formal parameter type; - // found : B&1 - // required: ?BB -} diff --git a/tests/pending/pos/t7785.scala b/tests/pending/pos/t7785.scala deleted file mode 100644 index 1de693d13..000000000 --- a/tests/pending/pos/t7785.scala +++ /dev/null @@ -1,34 +0,0 @@ -import scala.language._ - -trait R[+Repr] - -trait TraversableOps { - implicit val R: R[Nothing] = ??? - - // Removing the implicit parameter in both fixes the crash - // removing it into one only gives a valid compiler error. - trait OpsDup1[Repr] { - def force(implicit bf: R[Repr]): Any - } - - trait Ops[Repr] extends OpsDup1[Repr] { - def force(implicit bf: R[Repr], dummy: DummyImplicit): Any - } - - implicit def ct2ops[T, C[+X]](t: C[T]): - Ops[C[T]] - - def force[T](t: Option[T]) = - // ct2ops(t).force - t.force //Fails compilation on 2.10.2. - - - /* To get a closer look at the crash: - :power - val foo = typeOf[C].member(TermName("foo")) - val pt = analyzer.HasMember(TermName("force")) - val instantiated = foo.info.finalResultType.instantiateTypeParams(foo.typeParams, foo.typeParams.map(TypeVar(_))) - instantiated <:< pt - */ - def foo[T, C[+X]]: Ops[C[T]] -} diff --git a/tests/pending/pos/t7853.scala b/tests/pending/pos/t7853.scala deleted file mode 100644 index b0e9221e2..000000000 --- a/tests/pending/pos/t7853.scala +++ /dev/null @@ -1,11 +0,0 @@ -trait S { - trait T { - this: Any => - - trait U { - trait V { - S.this - } - } - } -} diff --git a/tests/pending/pos/t788.scala b/tests/pending/pos/t788.scala deleted file mode 100644 index 19638dd17..000000000 --- a/tests/pending/pos/t788.scala +++ /dev/null @@ -1,19 +0,0 @@ -package test; - -trait Test { - type Node <: NodeImpl; - trait NodeImpl; - type Expression <: Node with ExpressionImpl; - trait ExpressionImpl extends NodeImpl { - def self : Expression; - } - type Named <: Node with NamedImpl; - trait NamedImpl extends NodeImpl { - def self : Named; - } - def asExpression(e : ExpressionImpl) : Named = { - e match { - case f : NamedImpl => f.self; - } - } -} diff --git a/tests/pending/pos/t7902.scala b/tests/pending/pos/t7902.scala index 47c525c17..7793d3723 100644 --- a/tests/pending/pos/t7902.scala +++ b/tests/pending/pos/t7902.scala @@ -1,3 +1,4 @@ +// Invalid because nested hk type parameters are no longer allowed import scala.language.higherKinds object Bug { diff --git a/tests/pending/pos/t7919.scala b/tests/pending/pos/t7919.scala deleted file mode 100644 index 64f261ec1..000000000 --- a/tests/pending/pos/t7919.scala +++ /dev/null @@ -1,6 +0,0 @@ - -object X { - val x = s"" - val y = true -} - diff --git a/tests/pending/pos/t7928.scala b/tests/pending/pos/t7928.scala deleted file mode 100644 index d9e29935b..000000000 --- a/tests/pending/pos/t7928.scala +++ /dev/null @@ -1,16 +0,0 @@ -trait OuterTrait { - trait InnerTrait { - type Element - type Collection <: Iterable[Inner.Element] - } - - val Inner: InnerTrait - -} - -object OuterObject extends OuterTrait { - object Inner extends InnerTrait { - type Element = String - override type Collection = Seq[Inner.Element] - } -} diff --git a/tests/pending/pos/t796.scala b/tests/pending/pos/t796.scala deleted file mode 100644 index b1463ed92..000000000 --- a/tests/pending/pos/t796.scala +++ /dev/null @@ -1,26 +0,0 @@ -/** I know what I am doing is wrong -- since I am about to look into - * this bug, I add a test in pending/pos... however, I am afraid that - * once this bug is fixed, this test case might go into test/pos - * there it adds to the huge number of tiny little test cases. - * - * Ideally, an option in the bugtracking system would automatically - * handle "pos" bugs. - */ -object Test extends App { - - object Twice { - def apply(x: Int) = x * 2 - def unapply(x: Int): Option[Tuple1[Int]] = - if (x % 2 == 0) Some(Tuple1(x / 2)) - else None - } - - def test(x: Int) = x match { - case Twice(y) => "x is two times " + y - case _ => "x is odd" - } - - Console.println(test(3)) - Console.println(test(4)) - -} diff --git a/tests/pending/pos/t7983.scala b/tests/pending/pos/t7983.scala deleted file mode 100644 index fbeb7d3c5..000000000 --- a/tests/pending/pos/t7983.scala +++ /dev/null @@ -1,31 +0,0 @@ -package foo.bar.baz // the package nesting level material to this bug - -class DivergenceTest { - - trait ColumnBase[T] - - trait ShapeLevel - trait Flat extends ShapeLevel - trait Lower extends Flat - - class Shape2[Level <: ShapeLevel, -M, U] - - implicit final def columnBaseShape[Level >: Flat <: ShapeLevel, T, C <: ColumnBase[_]] - (implicit ev: C <:< ColumnBase[T] - ): Shape2[Level, C, T] = ??? - - implicit final def intShape[Level <: ShapeLevel, T]: Shape2[Level, Int, Int] = ??? - implicit final def tuple2Shape[Level <: ShapeLevel, M1,M2, U1,U2] - (implicit u1: Shape2[_ <: Level, M1, U1], - u2: Shape2[_ <: Level, M2, U2] - ): Shape2[Level, (M1,M2), (U1,U2)] = ??? - - def foo: Unit = { - class Coffees extends ColumnBase[Int] - - def map1[F, T](f: F)(implicit shape: Shape2[_ <: Flat, F, T]) = ??? - - map1(((1, null: Coffees), 1)) - map1(((null: Coffees, 1), 1)) // fails with implicit divergence error in 2.11.0-M6, works under 2.10.3 - } -} diff --git a/tests/pending/pos/t802.scala b/tests/pending/pos/t802.scala deleted file mode 100644 index 2dea7036d..000000000 --- a/tests/pending/pos/t802.scala +++ /dev/null @@ -1,27 +0,0 @@ -package test; -trait Test { - abstract class BracesImpl { - type Singleton; - type Brace <: Singleton with BraceImpl; - trait BraceImpl; - trait ForFile; - } - abstract class ParensImpl extends BracesImpl { - type Brace <: Singleton with BraceImpl; - trait BraceImpl extends super.BraceImpl; - } - val parens : ParensImpl; - abstract class BracksImpl extends BracesImpl { - type Brace <: Singleton with BraceImpl; - trait BraceImpl extends super.BraceImpl; - } - val bracks : BracksImpl; - trait File { - def parens0 : parens.BraceImpl; - def bracks0 : bracks.BraceImpl; - def braces(b : BracesImpl) = b match { - case b if b == parens => parens0; - case b if b == bracks => bracks0; - } - } -} diff --git a/tests/pending/pos/t8023.scala b/tests/pending/pos/t8023.scala deleted file mode 100644 index 502b5c55d..000000000 --- a/tests/pending/pos/t8023.scala +++ /dev/null @@ -1,22 +0,0 @@ -import language._ - - -object Test { - def foo = (null: Any) match { - case a: A[k] => - // error: kinds of the type arguments (k) do not conform to the - // expected kinds of the type parameters (type K) in class B. - new B[k]() - } -} - -class A[K[L[_]]] - -class B[K[M[_]]] - - -object Test2 { - def foo = (null: Any) match { - case a: A[k] => new B[k]() // this one worked before as the info of `A` was complete - } -} diff --git a/tests/pending/pos/t8023b.scala b/tests/pending/pos/t8023b.scala deleted file mode 100644 index 94c9b2f8d..000000000 --- a/tests/pending/pos/t8023b.scala +++ /dev/null @@ -1,2 +0,0 @@ -// this fails with naive attempts to fix SI-8023 -trait T[A <: T[A]] diff --git a/tests/pending/pos/t8045.scala b/tests/pending/pos/t8045.scala deleted file mode 100644 index 21154e386..000000000 --- a/tests/pending/pos/t8045.scala +++ /dev/null @@ -1,17 +0,0 @@ -object Test extends App { - case class Number(i: Int) - - object UnliftNumber { - def unapply(t: Any): Option[Number] = t match { - case i: Int => Some(Number(i)) - case _ => None - } - } - - def eval(expr: Any): Option[Number] = expr match { - case UnliftNumber(n) => Some(n) - case _ => None - } - - println(eval(1)) -} diff --git a/tests/pending/pos/t805.scala b/tests/pending/pos/t805.scala deleted file mode 100644 index 37bf6b5ef..000000000 --- a/tests/pending/pos/t805.scala +++ /dev/null @@ -1,19 +0,0 @@ -trait MatcherYYY { - trait NodeImpl; - trait Matchable extends NodeImpl { - protected def doMatch : Unit = {} - } -} -trait BraceMatcherXXX extends MatcherYYY { - trait NodeImpl extends super.NodeImpl { - def doMatch (braces : BracePair) : Unit - } - trait BracePair { - trait BraceImpl extends NodeImpl with Matchable { - override def doMatch : Unit = { - super.doMatch; - (); - } - } - } -} diff --git a/tests/pending/pos/t8128.scala b/tests/pending/pos/t8128.scala deleted file mode 100644 index b6f76691b..000000000 --- a/tests/pending/pos/t8128.scala +++ /dev/null @@ -1,15 +0,0 @@ -object G { - def unapply(m: Any): Option[_] = Some("") -} - -object H { - def unapplySeq(m: Any): Option[Seq[_]] = None -} - -object Test { - (0: Any) match { - case G(v) => v - case H(v) => v - case _ => - } -} diff --git a/tests/pending/pos/t8177a.scala b/tests/pending/pos/t8177a.scala deleted file mode 100644 index 7e2cfb386..000000000 --- a/tests/pending/pos/t8177a.scala +++ /dev/null @@ -1,9 +0,0 @@ -// exercise coevolveSym -trait Thing { type A; var p: A = _ } -class AA[T](final val x: Thing { type A = T }) { - def foo: x.A = ??? -} - -class B extends AA[Int](null) { - override def foo: B.this.x.A = super.foo -} diff --git a/tests/pending/pos/t8187.scala b/tests/pending/pos/t8187.scala deleted file mode 100644 index 84b8cd0f4..000000000 --- a/tests/pending/pos/t8187.scala +++ /dev/null @@ -1,6 +0,0 @@ -import scala.reflect.runtime.universe._ - -object Test extends App { - val tyn: TypeName = (??? : TypeSymbol).name - val ten: TermName = (??? : TermSymbol).name -} diff --git a/tests/pending/pos/t8219.scala b/tests/pending/pos/t8219.scala deleted file mode 100644 index e1653b623..000000000 --- a/tests/pending/pos/t8219.scala +++ /dev/null @@ -1,15 +0,0 @@ -trait Equalizer[T] -trait Gen[A] - -class Broken { - implicit def const[T](x: T): Gen[T] = ??? - implicit def convertToEqualizer[T](left: T): Equalizer[T] = ??? - - def in(a: Any) = () - in { - import scala.None // any import will do.. - "" == "" // this no longer triggers the bug, as Object#== now overrides Any#== - } - - // We can still trigger the bug with a structural type, see pending/neg/t8219.scala -} diff --git a/tests/pending/pos/t8219b.scala b/tests/pending/pos/t8219b.scala deleted file mode 100644 index b820447ce..000000000 --- a/tests/pending/pos/t8219b.scala +++ /dev/null @@ -1,49 +0,0 @@ -trait Equalizer[T] -trait Gen[A] - -class Broken { - implicit def const[T](x: T): Gen[T] = ??? - implicit def convertToEqualizer[T](left: T): Equalizer[T] = ??? - - def in(a: Any) = () - in { - import scala.None // any import will do.. - "" == "" // no longer a problem, see pos/t8129.scala - } - - // We used to fall into the errant code path above when `Any#==` and `AnyRef#==` - // were overloaded. - // - // Real classes couldn't get away with that overloading; it would result in - // a compiler error because the variants would collapse into an overriding - // relationship after erasure. - // - // - // But, a structural type can! This triggers the same error, and served as - // a backstop for this test if we change the signatures of `AnyRef#==` to - // override `Any#==`. - type T = { - def a(a: AnyRef): Boolean - def a(a: Any): Boolean - } - - def t: T = ??? - - in { - import scala.None // any import will do.. - t.a("") - } - - // Or, we can get here with ambiguous implicits from the formal parameter - // type of the less specific overload to that of the more specific. - object T { - def foo(a: Any) = true - def foo(a: String) = true - } - in { - import scala.None - implicit def any2str1(a: Any): String = "" - implicit def any2str2(a: Any): String = "" - T.foo("") - } -} diff --git a/tests/pending/pos/t8224.scala b/tests/pending/pos/t8224.scala deleted file mode 100644 index 2fae925df..000000000 --- a/tests/pending/pos/t8224.scala +++ /dev/null @@ -1,12 +0,0 @@ -import language.higherKinds - -trait P [N1, +E1[X <: N1]] -trait PIn[N2, +E2[X <: N2]] extends P[Int,Any] - -trait EI extends PIn[Int, Nothing] -trait NI extends PIn[Int, Nothing] - -object Test { - val lub = if (true) ??? : EI else ??? : NI - val pin: PIn[Int,Nothing] = lub -} diff --git a/tests/pending/pos/t8367.scala b/tests/pending/pos/t8367.scala deleted file mode 100644 index f0c329211..000000000 --- a/tests/pending/pos/t8367.scala +++ /dev/null @@ -1,11 +0,0 @@ -package java.lang - -// SI-8367 shows something is wrong with primaryConstructor and it was made worse with the fix for SI-8192 -// perhaps primaryConstructor should not return NoSymbol when isJavaDefined -// or, perhaps isJavaDefined should be refined (the package definition above is pretty sneaky) -// also, why does this only happen for a (scala-defined!) class with this special name? -// (there are a couple of others: CloneNotSupportedException,InterruptedException) -class Throwable - -// class CloneNotSupportedException -// class InterruptedException diff --git a/tests/pending/pos/t8369a.scala b/tests/pending/pos/t8369a.scala deleted file mode 100644 index 13046007f..000000000 --- a/tests/pending/pos/t8369a.scala +++ /dev/null @@ -1,5 +0,0 @@ -object Bug { - trait Sys[S] - def test[S <: Sys[S]] = read[S]() - def read[S <: Sys[S]](baz: Any = 0): Some[S] = ??? -} diff --git a/tests/pending/pos/t873.scala b/tests/pending/pos/t873.scala deleted file mode 100644 index b8c50afd3..000000000 --- a/tests/pending/pos/t873.scala +++ /dev/null @@ -1,10 +0,0 @@ -abstract class Foo { - - val x:Option[List[String]] - val y:List[Int] - - val z = (0:Any) match { - case 1 => x - case 2 => y - } -} diff --git a/tests/pending/pos/t911.scala b/tests/pending/pos/t911.scala deleted file mode 100644 index cfa4f49dc..000000000 --- a/tests/pending/pos/t911.scala +++ /dev/null @@ -1,6 +0,0 @@ -object Test { - def foo: Any = { - case class Foo() {} - Foo; - } -} diff --git a/tests/pending/pos/tcpoly_infer_ticket1864.scala b/tests/pending/pos/tcpoly_infer_ticket1864.scala deleted file mode 100644 index 4b7c7a223..000000000 --- a/tests/pending/pos/tcpoly_infer_ticket1864.scala +++ /dev/null @@ -1,51 +0,0 @@ -import scala.collection.mutable.{Buffer, ArrayBuffer} - -class RichBuffer[T, B[U] <: Buffer[U]](buffer: Buffer[T]) { - def mymap[S](f: T => S)(implicit rv: B[S]): B[S] = { - buffer.foreach{ e => - rv += f(e) - } - rv - } -} - -object App { - def mymap2[T, B[U] <: Buffer[U], S](buffer: B[T], f: T => S)(implicit rv: B[S]): B[S] = { - buffer.foreach{ e => - rv += f(e) - } - rv - } - - def mymap3[T, B <: Buffer[T], S](buffer: B, f: T => T)(implicit rv: B): B = { - buffer.foreach{ e => - rv += f(e) - } - rv - } - - def mymap4[T, B[U] <: Buffer[U], S](buffer: B[T])(f: T => S) (implicit rv: B[S]): B[S] = { - buffer.foreach{ e => - rv += f(e) - } - rv - } - - - def main(args: Array[String]): Unit = { - implicit def richBuffer[T, B[U] <: Buffer[U]](buffer: B[T]): RichBuffer[T, B] = - new RichBuffer[T, B](buffer) - - implicit val rv: scala.collection.mutable.ArrayBuffer[Int] = new ArrayBuffer[Int] - val buf = new ArrayBuffer[Int] - (1 to 5).foreach(buf += _) - buf.mymap(x => x*x) - richBuffer(buf).mymap[Int](x => x*x) - richBuffer[Int, ArrayBuffer](buf).mymap[Int](x => x*x) - mymap2(buf, (x: Int) => x*x) - mymap2[Int, ArrayBuffer, Int](buf, (x: Int) => x*x) - // mymap3(buf, x => x*x) // compiler error - mymap3(buf, (x: Int) => x*x) - mymap4(buf)(x => x*x) - } -} diff --git a/tests/pending/pos/tcpoly_ticket2096.scala b/tests/pending/pos/tcpoly_ticket2096.scala deleted file mode 100644 index d2387b36b..000000000 --- a/tests/pending/pos/tcpoly_ticket2096.scala +++ /dev/null @@ -1,30 +0,0 @@ -// smallest expression of monad i can find -trait MBrace[C[X] <: MBrace[C,X],A] { - def nest( a : A ) : C[A] - def flatten[T <: C[C[A]]]( bsq : T ) : C[A] -} - -// a monad that is a Seq -trait MBraceSeq[C[X] <: MBrace[C,X] with Seq[X],A] extends MBrace[C,A] - -// one of the simplest witnesses of monad i can find -case class MSequitor[A]( a_ : A* ) extends Seq[A] with MBrace[MSequitor,A] -{ - override def nest( a : A ) = new MSequitor[A]( a ) - override def flatten[T <: MSequitor[MSequitor[A]]]( bsq : T ) : MSequitor[A] = { - (new MSequitor[A]( ) /: bsq)( { - ( acc : MSequitor[A], e : MSequitor[A] ) => ( acc ++ e ).asInstanceOf[MSequitor[A]] - } ) - } - override def length = a_.length - override def iterator = a_.iterator - override def apply( n : Int ) = a_.apply( n ) -} - -// type arguments [MSequitor,A] do not conform to trait MBraceSeq's type parameter bounds [C[_] <: MBrace[C,A] with Seq[A],A] -// a statement of the instance relation -class MBraceSequitor[A] extends MBraceSeq[MSequitor,A] { - val empty : MSequitor[A] = new MSequitor[A]( ) - override def nest( a : A ) = empty.nest( a ) - override def flatten[T <: MSequitor[MSequitor[A]]]( bsq : T ): MSequitor[A] = empty.flatten( bsq ) -} diff --git a/tests/pending/pos/tcpoly_variance_pos.scala b/tests/pending/pos/tcpoly_variance_pos.scala deleted file mode 100644 index b63abce20..000000000 --- a/tests/pending/pos/tcpoly_variance_pos.scala +++ /dev/null @@ -1,7 +0,0 @@ -class A[m[+x]] { - def str: m[Object] = sys.error("foo") -} - -class B[m[+x]] extends A[m] { - override def str: m[String] = sys.error("foo") -} diff --git a/tests/pending/pos/ted.scala b/tests/pending/pos/ted.scala deleted file mode 100644 index 314f10932..000000000 --- a/tests/pending/pos/ted.scala +++ /dev/null @@ -1,18 +0,0 @@ -object App -{ - def exponentiate(base : Double, exponent : Double) : Double = - (base, exponent) match - { - case (0, 0) => 1.0 - case (b, 0) => 1.0 - case (b, 1) => b - case (b, e) => b * exponentiate(b, e - 1) - } - - - - def main(args : Array[String]) = - System.out.println(exponentiate(2, 2)) - -} - diff --git a/tests/pending/pos/test4.scala b/tests/pending/pos/test4.scala deleted file mode 100644 index 4fe65a8f1..000000000 --- a/tests/pending/pos/test4.scala +++ /dev/null @@ -1,47 +0,0 @@ -package test; - -trait C {} -trait D {} -trait E {} - -object test { - def c: C = c; - def d: D = d; - def e: E = e; -} - -import test._; - -trait S extends ooo.I[D] { - def bar: E = foo(c,d); -} - -class O[X]() { - trait I[Y] { - def foo(x: X, y: Y): E = e; - } - val i:I[E] = null; - val j:I[X] = null; -} - -object ooo extends O[C]() { - - def main = { - val s: S = null; - import s._; - foo(c,d); - ooo.i.foo(c,e); - ooo.j.foo(c,c); - bar - } -} - -class Main() { - val s: S = null; - import s._; - foo(c,d); - ooo.i.foo(c,e); - ooo.j.foo(c,c); - bar; -} - diff --git a/tests/pending/pos/test5.scala b/tests/pending/pos/test5.scala deleted file mode 100644 index c19478048..000000000 --- a/tests/pending/pos/test5.scala +++ /dev/null @@ -1,68 +0,0 @@ -import scala._; - -object test { - - trait F[If] {} - - def f[Jf](h: Jf):F[Jf] = f[Jf](h); - - trait G[Ig] {} - - def g[Jg](h: Jg):G[Jg] = g[Jg](h); - - class M[P]() { - abstract class I[X]() { - // Methods to check the type X and P as seen from instances of I - def chk_ix(x: X): Unit = (); - def chk_ip(p: P): Unit; - - // Value with type X as seen from instances of I - def val_ix: X = val_ix; - } - - val i:I[G[P]] = null; - - // Values with types P and i.X as seen from instances of M - def val_mp: P = val_mp; - def val_mix: G[P] = g[P](val_mp); - } - - class N[Q]() extends M[F[Q]]() { - val j:J[G[Q]] = null; - - abstract class J[Y]() extends I[G[Y]]() { - // Values with types Y and X as seen from instances of J - def val_jy: Y = val_jy; - def val_jx: G[Y] = g[Y](val_jy); - - // Check type P - chk_ip(val_mp); - chk_ip(val_np); - } - - // Values with types Q, X.P, i.X, j.Y and j.X as seen from instances of N - def val_nq: Q = val_nq; - def val_np: F[Q] = f[Q](val_nq); - def val_nix: G[F[Q]] = g[F[Q]](val_np); - def val_njy: G[Q] = g[Q](val_nq); - def val_njx: G[G[Q]] = g[G[Q]](val_njy); - - // Check type i.P - i.chk_ip(val_mp); - i.chk_ip(val_np); - - // Check type j.P - j.chk_ip(val_mp); - j.chk_ip(val_np); - - // Check type i.X - i.chk_ix(i.val_ix); - i.chk_ix(val_mix); - i.chk_ix(val_nix); - - // Check j.X - j.chk_ix(j.val_ix); - j.chk_ix(j.val_jx); - j.chk_ix(val_njx); - } -} diff --git a/tests/pending/pos/test5refine.scala b/tests/pending/pos/test5refine.scala deleted file mode 100644 index 09ea179da..000000000 --- a/tests/pending/pos/test5refine.scala +++ /dev/null @@ -1,75 +0,0 @@ -import scala._; - -object test { - - abstract trait F { type If; } - - def f[Jf](h: Jf):F { type If = Jf } = f[Jf](h); - - abstract trait G { type Ig; } - - def g[Jg](h: Jg):G { type Ig = Jg } = g[Jg](h); - - abstract class M() { - type P; - abstract class I() { - type X; - - // Methods to check the type X and P as seen from instances of I - def chk_ix(x: X): Unit = {} - def chk_ip(p: P): Unit = {} - - // Value with type X as seen from instances of I - def val_ix: X = val_ix; - } - - val i: I { type X = G { type Ig = P } } = null; - - // Values with types P and i.X as seen from instances of M - def val_mp: P = val_mp; - def val_mix: G { type Ig = P } = g[P](val_mp); - } - - abstract class N() extends M() { - type Q; - type P = F { type If = Q }; - val j:J { type Y = G { type Ig = Q } } = null; - - abstract class J() extends I() { - type Y; - type X = G { type Ig = Y; }; - // Values with types Y and X as seen from instances of J - def val_jy: Y = val_jy; - def val_jx: G { type Ig = Y; } = g[Y](val_jy); - - // Check type P - chk_ip(val_mp); - chk_ip(val_np); - } - - // Values with types Q, X.P, i.X, j.Y and j.X as seen from instances of N - def val_nq: Q = val_nq; - def val_np: F { type If = Q } = f[Q](val_nq); - def val_nix: G { type Ig = F { type If = Q } } = g[F { type If = Q }](val_np); - def val_njy: G { type Ig = Q; } = g[Q](val_nq); - def val_njx: G { type Ig = G { type Ig = Q }} = g[G { type Ig = Q; }](val_njy); - - // Check type i.P - i.chk_ip(val_mp); - i.chk_ip(val_np); - - // Check type j.P - j.chk_ip(val_mp); - j.chk_ip(val_np); - - // Check type i.X - i.chk_ix(i.val_ix); - i.chk_ix(val_mix); - i.chk_ix(val_nix); - - // Check j.X - j.chk_ix(j.val_ix); - j.chk_ix(j.val_jx); - j.chk_ix(val_njx); - } -} diff --git a/tests/pending/pos/ticket2251.scala b/tests/pending/pos/ticket2251.scala deleted file mode 100644 index 006407247..000000000 --- a/tests/pending/pos/ticket2251.scala +++ /dev/null @@ -1,39 +0,0 @@ - -// Martin: I am not sure this is a solvable problem right now. I'll leave it in pending. -// derived from pos/t1001 -class A -trait B[T <: B[T]] extends A -class C extends B[C] -class D extends B[D] - -class Data { - // force computing lub of C and D (printLubs enabled:) - -/* -lub of List(D, C) at depth 2 - lub of List(D, C) at depth 1 - lub of List(D, C) at depth 0 - lub of List(D, C) is A - lub of List(D, C) is B[_1] forSome { type _1 >: D with C <: A } -lub of List(D, C) is B[_2] forSome { type _2 >: D with C{} <: B[_1] forSome { type _1 >: D with C{} <: A } } -*/ -// --> result = WRONG - - // should be: B[X] forSome {type X <: B[X]} -- can this be done automatically? for now, just detect f-bounded polymorphism and fall back to more coarse approximation - - val data: List[A] = List(new C, new D) - - val data2 = List(new C, new D) - - val data3: List[B[_ <: B[_ <: A]]] = List(new C, new D) - - // Not yet -- - // val data4: List[B[X] forSome { type X <: B[X] }] = List(new C, new D) - // <console>:7: error: type mismatch; - // found : List[B[_ >: D with C <: B[_ >: D with C <: A]]] - // required: List[B[X] forSome { type X <: B[X] }] - // val data4: List[B[X] forSome { type X <: B[X] }] = List(new C, new D) - - // works - val data5 = List[B[X] forSome { type X <: B[X] }](new C, new D) -} diff --git a/tests/pending/pos/typealiases.scala b/tests/pending/pos/typealiases.scala deleted file mode 100644 index 93d1dce4d..000000000 --- a/tests/pending/pos/typealiases.scala +++ /dev/null @@ -1,20 +0,0 @@ -package foo - -trait Test[T] { - type Check[T] = Array[T] => Unit; - type MyPair[S] = (T, S) - - val pair1: (T, Int) - val pair: MyPair[Int] = pair1 - - def check(xs: Array[T], c: Check[T]) = c(xs) - def check2[S](xs: Array[S], c: Check[S]) = c(xs) -} - -object main extends Test[Int] { - val pair1 = (1,1) - - implicit def topair(x: Int): Tuple2[Int, Int] = (x,x) - val pair2: MyPair[Int] = 1 - val x: Short = 1 -} diff --git a/tests/pending/pos/typerep-stephane.scala b/tests/pending/pos/typerep-stephane.scala deleted file mode 100644 index 2cb899591..000000000 --- a/tests/pending/pos/typerep-stephane.scala +++ /dev/null @@ -1,48 +0,0 @@ -object typerep { - - class TypeRep[T] { - def getType: TypeRep[T] = this - } - - object BooleanRep extends TypeRep[Boolean] { - override def toString = "Boolean" - } - object CharRep extends TypeRep[Char] { - override def toString = "Char" - } - object IntRep extends TypeRep[Int] { - override def toString = "Int" - } - object LongRep extends TypeRep[Long] { - override def toString = "Long" - } - object FloatRep extends TypeRep[Float] { - override def toString = "Float" - } - object DoubleRep extends TypeRep[Double] { - override def toString = "Double" - } - class ListRep[U, T <: List[U]](val elemRep: TypeRep[U]) extends TypeRep[T] { - override def toString = "List[" + elemRep + "]" - } - - implicit def typeRep(x: Boolean): TypeRep[Boolean] = BooleanRep - implicit def typeRep(x: Char ): TypeRep[Char ] = CharRep - implicit def typeRep(x: Long ): TypeRep[Long ] = LongRep - implicit def typeRep(x: Float ): TypeRep[Float ] = FloatRep - implicit def typeRep(x: Double ): TypeRep[Double ] = DoubleRep - implicit def typeRep(x: Int ): TypeRep[Int ] = IntRep -/* - implicit def typeRep[T](xs: List[T])(implicit rep: T => TypeRep[T]): TypeRep[List[T]] = - new ListRep(rep(xs.head)) -*/ - implicit def typeRep[T <% TypeRep[T]](xs: List[T]): TypeRep[List[T]] = - new ListRep(xs.head) - -} - -object test extends App { - import typerep._ - println(3.getType) - println(List(3).getType) -} diff --git a/tests/pending/pos/typesafecons.scala b/tests/pending/pos/typesafecons.scala deleted file mode 100644 index 524328016..000000000 --- a/tests/pending/pos/typesafecons.scala +++ /dev/null @@ -1,30 +0,0 @@ -object Pair { - sealed trait Pair { - type First - type Second <: Pair - } - - class End extends Pair { - type First = Nothing - type Second = End - - def ::[T](v : T) : Cons[T, End] = Cons(v, this) - } - - case object End extends End - - final case class Cons[T1, T2 <: Pair](_1 : T1, _2 : T2) extends Pair { - type First = T1 - type Second = T2 - - def ::[T](v : T) : Cons[T, Cons[T1, T2]] = Cons(v, this) - def find[T](implicit finder : Cons[T1, T2] => T) = finder(this) - } - - implicit def findFirst[T1, T2 <: Pair] : Cons[T1, T2] => T1 = (p : Cons[T1, T2]) => p._1 - implicit def findSecond[T, T1, T2 <: Pair](implicit finder : T2 => T) : Cons[T1, T2] => T = (p : Cons[T1, T2]) => finder(p._2) - - val p : Cons[Int, Cons[Boolean, End]] = 10 :: false :: End -// val x : Boolean = p.find[Boolean](findSecond(findFirst)) - val x2 : Boolean = p.find[Boolean] // Doesn't compile -} diff --git a/tests/pending/pos/unapplySeq.scala b/tests/pending/pos/unapplySeq.scala deleted file mode 100644 index cefe1cb8f..000000000 --- a/tests/pending/pos/unapplySeq.scala +++ /dev/null @@ -1,26 +0,0 @@ -object FooSeq { - def unapplySeq(x:Any): Option[Product2[Int,Seq[String]]] = { - if (x.isInstanceOf[Bar]) { - val y = x.asInstanceOf[Bar] - Some(y.size, y.name) - } else None - } - - def main(args:Array[String]) = { - val b = new Bar - b match { - case FooSeq(s:Int,_,n:String) => Console.println("size " + s +" name "+ n) - } - b.size = 54 - b.name = List("large","L") - b match { - case FooSeq(s:Int,_,n:String) => Console.println("size " + s +" name "+ n) - } - } -} - -class Bar { - var size: Int = 50 - var name: Seq[String] = List("medium","M") -} - diff --git a/tests/pending/pos/virtpatmat_alts_subst.scala b/tests/pending/pos/virtpatmat_alts_subst.scala deleted file mode 100644 index e27c52f9c..000000000 --- a/tests/pending/pos/virtpatmat_alts_subst.scala +++ /dev/null @@ -1,6 +0,0 @@ -case class Foo(s: String) { - def appliedType(tycon: Any) = - tycon match { - case Foo(sym @ ("NothingClass" | "AnyClass")) => println(sym) - } -} diff --git a/tests/pending/pos/virtpatmat_exist1.scala b/tests/pending/pos/virtpatmat_exist1.scala deleted file mode 100644 index 6cad017b0..000000000 --- a/tests/pending/pos/virtpatmat_exist1.scala +++ /dev/null @@ -1,24 +0,0 @@ -import annotation.unchecked.{ uncheckedVariance=> uV } -import scala.collection.immutable.{ListMap, HashMap, ListSet, HashSet} - -object Test { - class HashMapCollision1[A, +B](var hash: Int, var kvs: ListMap[A, B @uV]) extends HashMap[A, B @uV] - class HashSetCollision1[A](var hash: Int, var ks: ListSet[A]) extends HashSet[A] - - def splitArray[T](ad: Array[Iterable[T]]): Any = - ad(0) match { - case _: HashMapCollision1[_, _] | _: HashSetCollision1[_] => null - } - - // without type ascription for the one in the body of the last flatmap of each alternative, type inference borks on the existentials - // def splitArray[T >: Nothing <: Any](ad: Array[Iterable[T]]): Any = { import OptionMatching._ - // runOrElse(ad.apply(0))(((x1: Iterable[T]) => ( - // or(((x4: Iterable[T]) => one(null)), - // guard(x1.isInstanceOf[Iterable[T] with Test.HashMapCollision1[_,_]], x1.asInstanceOf[Iterable[T] with Test.HashMapCollision1[_,_]]).flatMap(((x2: Iterable[T] with Test.HashMapCollision1[_,_]) => one(x2))), - // guard(x1.isInstanceOf[Test.HashSetCollision1[_]], x1.asInstanceOf[Iterable[T] with Test.HashSetCollision1[_]]).flatMap(((x3: Iterable[T] with Test.HashSetCollision1[_]) => one(x3)))): Option[Any]).orElse( - // (zero: Option[Any]))) - // ) - // } - -} - diff --git a/tests/pending/pos/virtpatmat_exist3.scala b/tests/pending/pos/virtpatmat_exist3.scala deleted file mode 100644 index 6a6d428b1..000000000 --- a/tests/pending/pos/virtpatmat_exist3.scala +++ /dev/null @@ -1,12 +0,0 @@ -class ReferenceQueue[T] { - def wrapper(jref: ReferenceQueue[_]): ReferenceQueue[T] = - jref match { - case null => null - } - - // def wrapper(jref: ReferenceQueue[_]): ReferenceQueue[T] = OptionMatching.runOrElse(jref)(((x1: ReferenceQueue[_]) => - // (OptionMatching.guard(null.==(x1), x1.asInstanceOf[ReferenceQueue[_]]).flatMap(((x2: ReferenceQueue[_]) => - // OptionMatching.one(null))): Option[ReferenceQueue[T]]).orElse( - // (OptionMatching.zero: Option[ReferenceQueue[T]]))) - // ) -} diff --git a/tests/pending/pos/virtpatmat_exist_uncurry.scala b/tests/pending/pos/virtpatmat_exist_uncurry.scala deleted file mode 100644 index 727922b31..000000000 --- a/tests/pending/pos/virtpatmat_exist_uncurry.scala +++ /dev/null @@ -1,6 +0,0 @@ -object Test { - trait Leaf[T] { - def collect[U](f: PartialFunction[Leaf[_], U]): List[U] - def leaves: List[Leaf[T]] = collect { case l: Leaf[T] => l } - } -} |