diff options
author | Samuel Gruetter <samuel.gruetter@epfl.ch> | 2014-12-16 16:38:09 +0100 |
---|---|---|
committer | Samuel Gruetter <samuel.gruetter@epfl.ch> | 2014-12-16 16:38:09 +0100 |
commit | 42851ed2675015d42bb341b82a09bd0bef4a8ce4 (patch) | |
tree | 06806b4183cf74a43553e9a8a9acfeff84fdf712 /tests/untried | |
parent | 5be609fc4e04e3cca5e1435ee41b8cacac9b0513 (diff) | |
download | dotty-42851ed2675015d42bb341b82a09bd0bef4a8ce4.tar.gz dotty-42851ed2675015d42bb341b82a09bd0bef4a8ce4.tar.bz2 dotty-42851ed2675015d42bb341b82a09bd0bef4a8ce4.zip |
move failing tests from tests/untried/pos to tests/pending/pos
Diffstat (limited to 'tests/untried')
494 files changed, 0 insertions, 9309 deletions
diff --git a/tests/untried/pos/CustomGlobal.scala b/tests/untried/pos/CustomGlobal.scala deleted file mode 100644 index a5668bd7c..000000000 --- a/tests/untried/pos/CustomGlobal.scala +++ /dev/null @@ -1,33 +0,0 @@ -package custom - -import scala.tools.nsc._, reporters._, typechecker._ - -/** Demonstration of a custom Global with a custom Typer, - * decoupled from trunk. Demonstration: - * -{{{ -scalac -d . CustomGlobal.scala && scala -nc -Yglobal-class custom.CustomGlobal \ - -e 'class Bippy(x: Int) ; def f = new Bippy(5)' - -I'm typing a Bippy! It's a ClassDef. -I'm typing a Bippy! It's a Ident. -I'm typing a Bippy! It's a DefDef. -}}} - * - */ -class CustomGlobal(currentSettings: Settings, reporter: Reporter) extends Global(currentSettings, reporter) { - override lazy val analyzer = new { - val global: CustomGlobal.this.type = CustomGlobal.this - } with Analyzer { - override def newTyper(context: Context): Typer = new CustomTyper(context) - - class CustomTyper(context : Context) extends Typer(context) { - override def typed(tree: Tree, mode: Mode, pt: Type): Tree = { - if (tree.summaryString contains "Bippy") - println("I'm typing a Bippy! It's a " + tree.shortClass + ".") - - super.typed(tree, mode, pt) - } - } - } -} diff --git a/tests/untried/pos/List1.scala b/tests/untried/pos/List1.scala deleted file mode 100644 index 30ebf5e1e..000000000 --- a/tests/untried/pos/List1.scala +++ /dev/null @@ -1,45 +0,0 @@ -object lists { - - abstract class List[a] { - def isEmpty: Boolean; - def head: a; - def tail: List[a]; - def prepend(x: a) = Cons[a](x, this); - } - - def Nil[b] = new List[b] { - def isEmpty: Boolean = true; - def head = sys.error("head of Nil"); - def tail = sys.error("tail of Nil"); - } - - def Cons[c](x: c, xs: List[c]): List[c] = new List[c] { - def isEmpty = false; - def head = x; - def tail = xs; - } - - def foo = { - val intnil = Nil[Int]; - val intlist = intnil.prepend(1).prepend(1+1); - val x: Int = intlist.head; - val strnil = Nil[String]; - val strlist = strnil.prepend("A").prepend("AA"); - val y: String = strlist.head; - () - } - - class IntList() extends List[Int] { - def isEmpty: Boolean = false; - def head: Int = 1; - def foo: List[Int] { def isEmpty: Boolean; def head: Int; def tail: List[Int] } = Nil[Int]; - def tail0: List[Int] = foo.prepend(1).prepend(1+1); - def tail: List[Int] = Nil[Int].prepend(1).prepend(1+1); - } - - def foo2 = { - val il1 = new IntList(); - val il2 = il1.prepend(1).prepend(2); - () - } -} diff --git a/tests/untried/pos/MailBox.scala b/tests/untried/pos/MailBox.scala deleted file mode 100644 index 8e27bd362..000000000 --- a/tests/untried/pos/MailBox.scala +++ /dev/null @@ -1,84 +0,0 @@ -package test; - -import scala.actors.TIMEOUT; - -class MailBox { - - private class LinkedList[a] { - var elem: a = _; - var next: LinkedList[a] = null; - } - - private def insert[a](l: LinkedList[a], x: a): LinkedList[a] = { - l.next = new LinkedList[a]; - l.next.elem = x; - l.next.next = l.next; - l - } - - private abstract class Receiver { - def isDefined(msg: Any): Boolean; - var msg: Any = null; - } - - private val sent = new LinkedList[Any]; - private var lastSent = sent; - private val receivers = new LinkedList[Receiver]; - private var lastReceiver = receivers; - - def send(msg: Any): Unit = synchronized { - var r = receivers; - var r1 = r.next; - while (r1 != null && !r1.elem.isDefined(msg)) { - r = r1; r1 = r1.next; - } - if (r1 != null) { - r.next = r1.next; r1.elem.msg = msg; r1.elem.notify(); - } else { - lastSent = insert(lastSent, msg); - } - } - - def receive[a](f: PartialFunction[Any, a]): a = { - val msg: Any = synchronized { - var s = sent; - var s1 = s.next; - while (s1 != null && !f.isDefinedAt(s1.elem)) { - s = s1; s1 = s1.next - } - if (s1 != null) { - s.next = s1.next; s1.elem - } else { - val r = insert(lastReceiver, new Receiver { - def isDefined(msg: Any) = f.isDefinedAt(msg); - }); - lastReceiver = r; - r.elem.wait(); - r.elem.msg - } - } - f(msg) - } - - def receiveWithin[a](msec: Long)(f: PartialFunction[Any, a]): a = { - val msg: Any = synchronized { - var s = sent; - var s1 = s.next; - while (s1 != null && !f.isDefinedAt(s1.elem)) { - s = s1; s1 = s1.next ; - } - if (s1 != null) { - s.next = s1.next; s1.elem - } else { - val r = insert(lastReceiver, new Receiver { - def isDefined(msg: Any) = f.isDefinedAt(msg); - }); - lastReceiver = r; - r.elem.wait(msec); - if (r.elem.msg == null) r.elem.msg = TIMEOUT; - r.elem.msg - } - } - f(msg) - } -} diff --git a/tests/untried/pos/NoCyclicReference.scala b/tests/untried/pos/NoCyclicReference.scala deleted file mode 100644 index e42896661..000000000 --- a/tests/untried/pos/NoCyclicReference.scala +++ /dev/null @@ -1,7 +0,0 @@ -package test - -trait Iterable[+A] { self => - - type CC[B] <: Iterable[B] { type CC[C] = self.CC[C] } - -} diff --git a/tests/untried/pos/S5.scala b/tests/untried/pos/S5.scala deleted file mode 100644 index f0b66a6e6..000000000 --- a/tests/untried/pos/S5.scala +++ /dev/null @@ -1,30 +0,0 @@ -/* Here's a fragment of a Scala encoding for the Keris module system; -** the compiler claims: -** -** S5.scala:28: value n in class N of type N.this._N.n -** cannot override value n in class M of type M.this._N.n -** val system = new M() with N() {} -** ^ -** To me it seems like the code is perfectly fine... -*/ -abstract class M() { - val _N: N; - val n: _N.n; - val _M: M = this; - val m: _M.m = new _M.m(); - class m() { - // module body of M - } -} -trait N { - val _N: N = this; - val n: _N.n = new _N.n(); - val _M: M; - val m: _M.m; - class n() { - // module body of N - } -} -object O { - val system = new M() with N {} -} diff --git a/tests/untried/pos/SI-5788.scala b/tests/untried/pos/SI-5788.scala deleted file mode 100644 index f29246180..000000000 --- a/tests/untried/pos/SI-5788.scala +++ /dev/null @@ -1,3 +0,0 @@ -trait Foo[@specialized(Int) A] { - final def bar(a:A):A = bar(a) -} diff --git a/tests/untried/pos/SI-7638.scala b/tests/untried/pos/SI-7638.scala deleted file mode 100644 index ed581efe9..000000000 --- a/tests/untried/pos/SI-7638.scala +++ /dev/null @@ -1,51 +0,0 @@ -package miniboxing.tests.compile - -trait Ordering[@specialized(Int) A] { - def eqv(x: Array[A], y: Array[A]): Boolean = false -} - -trait ArrayVectorOrder[@specialized(Int) A] extends Ordering[A] { - override def eqv(x: Array[A], y: Array[A]): Boolean = super.eqv(x, y) -} - -object vectorOrder { - implicit def arrayOrder[@specialized(Int) A](): miniboxing.tests.compile.ArrayVectorOrder[A] = - /* - * Before applying patch: - * - * while compiling: SI-7638.scala - * during phase: mixin - * library version: version 2.10.3-20130625-164027-d22e8d282c - * compiler version: version 2.10.3-20130627-153946-54cb6af7db - * reconstructed args: - * - * last tree to typer: TypeTree(class Array) - * symbol: class Array in package scala (flags: final) - * symbol definition: final class Array[T >: ? <: ?] extends Object - * tpe: Array[Int] - * symbol owners: class Array -> package scala - * context owners: anonymous class anon$1 -> package compile - * - * == Expanded type of tree == - * - * TypeRef( - * TypeSymbol(final class Array[T >: ? <: ?] extends Object) - * args = List(TypeRef(TypeSymbol(final abstract class Int extends ))) - * ) - * - * unhandled exception while transforming SI-7638.scala - * error: uncaught exception during compilation: java.lang.UnsupportedOperationException - * error: java.lang.UnsupportedOperationException: tail of empty list - * at scala.collection.immutable.Nil$.tail(List.scala:339) - * at scala.collection.immutable.Nil$.tail(List.scala:334) - * at scala.tools.nsc.transform.Mixin$$anonfun$scala$tools$nsc$transform$Mixin$$rebindSuper$1.apply(Mixin.scala:123) - * at scala.tools.nsc.transform.Mixin$$anonfun$scala$tools$nsc$transform$Mixin$$rebindSuper$1.apply(Mixin.scala:122) - * at scala.reflect.internal.SymbolTable.atPhase(SymbolTable.scala:207) - * at scala.reflect.internal.SymbolTable.afterPhase(SymbolTable.scala:216) - * at scala.tools.nsc.Global.afterPickler(Global.scala:1104) - * at scala.tools.nsc.transform.Mixin.scala$tools$nsc$transform$Mixin$$rebindSuper(Mixin.scala:122) - * at scala.tools.nsc.transform.Mixin$$anonfun$scala$tools$nsc$transform$Mixin$$mixinTraitMembers$1$1.apply(Mixin.scala:339) - * at scala.tools.nsc.transform.Mixin$$anonfun$scala$tools$nsc$transform$Mixin$$mixinTraitMembers$1$1.apply(Mixin.scala:292) - */ - new ArrayVectorOrder[A] { } -} diff --git a/tests/untried/pos/annotDepMethType.scala b/tests/untried/pos/annotDepMethType.scala deleted file mode 100644 index 079ca6224..000000000 --- a/tests/untried/pos/annotDepMethType.scala +++ /dev/null @@ -1,7 +0,0 @@ -case class pc(calls: Any*) extends annotation.TypeConstraint - -object Main { - class C0 { def baz: String = "" } - class C1 { def bar(c0: C0): String @pc(c0.baz) = c0.baz } - def trans(c1: C1): String @pc(c1.bar(throw new Error())) = c1.bar(new C0) -} diff --git a/tests/untried/pos/annotated-original/C_2.scala b/tests/untried/pos/annotated-original/C_2.scala deleted file mode 100644 index 36a09ffe0..000000000 --- a/tests/untried/pos/annotated-original/C_2.scala +++ /dev/null @@ -1,7 +0,0 @@ -object Bug { - M.m { - def s = "" - M.m(s): @unchecked // error: macro has not been expanded. - ??? - } -} diff --git a/tests/untried/pos/annotated-original/M_1.scala b/tests/untried/pos/annotated-original/M_1.scala deleted file mode 100644 index 84a01bcce..000000000 --- a/tests/untried/pos/annotated-original/M_1.scala +++ /dev/null @@ -1,7 +0,0 @@ -import language.experimental.macros -import scala.reflect.macros.blackbox.Context - -object M { - def impl(c: Context)(a: c.Expr[Any]) = c.Expr[Any](c.untypecheck(a.tree)) - def m(a: Any) = macro impl -} diff --git a/tests/untried/pos/annotated-treecopy/Impls_Macros_1.scala b/tests/untried/pos/annotated-treecopy/Impls_Macros_1.scala deleted file mode 100644 index 986287dfa..000000000 --- a/tests/untried/pos/annotated-treecopy/Impls_Macros_1.scala +++ /dev/null @@ -1,54 +0,0 @@ -import scala.language.experimental.macros -import scala.reflect.macros.blackbox.Context -import collection.mutable.ListBuffer -import collection.mutable.Stack - -object Macros { - trait TypedFunction { - def tree: scala.reflect.runtime.universe.Tree - val typeIn: String - val typeOut: String - } - - def tree[T,U](f:Function1[T,U]): Function1[T,U] = macro tree_impl[T,U] - - def tree_impl[T:c.WeakTypeTag,U:c.WeakTypeTag](c: Context) - (f:c.Expr[Function1[T,U]]): c.Expr[Function1[T,U]] = { - import c.universe._ - import internal._ - val ttag = c.weakTypeTag[U] - f match { - case Expr(Function(List(ValDef(_,n,tp,_)),b)) => - // normalize argument name - var b1 = new Transformer { - override def transform(tree: Tree): Tree = tree match { - case Ident(x) if (x==n) => Ident(TermName("_arg")) - case tt: TypeTree if tt.original != null => setOriginal(TypeTree(tt.tpe), transform(tt.original)) - // without the fix to LazyTreeCopier.Annotated, we would need to uncomment the line below to make the macro work - // that's because the pattern match in the input expression gets expanded into Typed(<x>, TypeTree(<Int @unchecked>)) - // with the original of the TypeTree being Annotated(<@unchecked>, Ident(<x>)) - // then the macro tries to replace all Ident(<x>) trees with Ident(<_arg>), recurs into the original of the TypeTree, changes it, - // but leaves the <@unchecked> part untouched. this signals the misguided LazyTreeCopier that the Annotated tree hasn't been modified, - // so the original tree should be copied over and returned => crash when later <x: @unchecked> re-emerges from TypeTree.original - // case Annotated(annot, arg) => treeCopy.Annotated(tree, transform(annot).duplicate, transform(arg)) - case _ => super.transform(tree) - } - }.transform(b) - - val reifiedTree = c.reifyTree(gen.mkRuntimeUniverseRef, EmptyTree, b1) - val reifiedExpr = c.Expr[scala.reflect.runtime.universe.Expr[T => U]](reifiedTree) - val template = - c.universe.reify(new (T => U) with TypedFunction { - override def toString = c.Expr[String](q"""${tp+" => "+ttag.tpe+" { "+b1.toString+" } "}""").splice // DEBUG - def tree = reifiedExpr.splice.tree - val typeIn = c.Expr[String](q"${tp.toString}").splice - val typeOut = c.Expr[String](q"${ttag.tpe.toString}").splice - def apply(_arg: T): U = c.Expr[U](b1)(ttag.asInstanceOf[c.WeakTypeTag[U]]).splice - }) - val untyped = c.untypecheck(template.tree) - - c.Expr[T => U](untyped) - case _ => sys.error("Bad function type") - } - } -} diff --git a/tests/untried/pos/annotated-treecopy/Test_2.scala b/tests/untried/pos/annotated-treecopy/Test_2.scala deleted file mode 100644 index 1c6b862ef..000000000 --- a/tests/untried/pos/annotated-treecopy/Test_2.scala +++ /dev/null @@ -1,5 +0,0 @@ -object Test extends App { - import Macros._ - // tree { (x:((Int,Int,Int),(Int,Int,Int))) => { val y=x; val ((r1,m1,c1),(r2,m2,c2))=y; (r1, m1 + m2 + r1 * c1 * c2, c2) } } - tree { (x:((Int,Int,Int),(Int,Int,Int))) => { val ((r1,m1,c1),(r2,m2,c2))=x; (r1, m1 + m2 + r1 * c1 * c2, c2) } } -} diff --git a/tests/untried/pos/annotations.scala b/tests/untried/pos/annotations.scala deleted file mode 100644 index 9235a1ee6..000000000 --- a/tests/untried/pos/annotations.scala +++ /dev/null @@ -1,110 +0,0 @@ -class ann(i: Int) extends scala.annotation.Annotation -class cfann(x: String) extends annotation.ClassfileAnnotation - -// annotations on abstract types -abstract class C1[@annotation.elidable(0) +T, U, V[_]] -abstract class C2[@deprecated - @ann(1) T <: Number, - V] -abstract class C3 { - @ann(2) type X <: Number -} - -object Test { - - // bug #1028 - val x = 1 - @ann(x) val a = () - @ann({val yy = 2; yy}) val b = () - val bb: Int @ann({val yy = 2; yy}) = 10 - - def c: Int @ann(x) = 1 - def d: String @ann({val z = 0; z - 1}) = "2" - def e[@deprecated T, U](x: T) = x - - //bug #1214 - val y = new (Integer @ann(0))(2) - - import scala.beans.BeanProperty - - // bug #637 - trait S { def getField(): Int } - class O extends S { @BeanProperty val field = 0 } - - // bug #1070 - trait T { @BeanProperty var field = 1 } - - // annotation on annotation constructor - @(ann @ann(100))(200) def foo() = 300 - - // #2984 - private final val NAMESPACE = "/info" - @cfann(x = NAMESPACE + "/index") def index = "success" -} - -// test forward references to getters / setters -class BeanPropertyTests { - @scala.beans.BeanProperty lazy val lv1 = 0 - - def foo(): Unit = { - val bp1 = new BeanPropertyTests1 - - println(lv1) - println(getLv1()) - println(bp1.getLv2()) - - println(getV1()) - setV1(10) - bp1.setV2(100) - } - - @scala.beans.BeanProperty var v1 = 0 - -} - -class BeanPropertyTests1 { - @scala.beans.BeanProperty lazy val lv2 = "0" - @scala.beans.BeanProperty var v2 = 0 -} - -// test mixin of getters / setters, and implementing abstract -// methods using @BeanProperty -class C extends T with BeanF { - def foo(): Unit = { - setF("doch!") - setG(true) - this.getF() - } -} - -trait T { - @scala.beans.BeanProperty var f = "nei" - @scala.beans.BooleanBeanProperty var g = false -} - -trait BeanF { - def getF(): String - def setF(n: String): Unit - - def isG(): Boolean - def setG(nb: Boolean): Unit -} - - -class Ann3(arr: Array[String]) extends annotation.ClassfileAnnotation -class Ann4(i: Int) extends annotation.ClassfileAnnotation -class Ann5(value: Class[_]) extends annotation.ClassfileAnnotation - -object Test3 { - final val i = 1083 - final val cls = classOf[String] -} - -class Test4 { - @Ann3(arr = Array("dlkfj", "DSF")) - @Ann4(i = 2908) - @Ann4(i = Test3.i) - @Ann5(value = classOf[Int]) - @Ann5(Test3.cls) - def foo: Unit = {} -} diff --git a/tests/untried/pos/arrays2.scala b/tests/untried/pos/arrays2.scala deleted file mode 100644 index 795c486e3..000000000 --- a/tests/untried/pos/arrays2.scala +++ /dev/null @@ -1,23 +0,0 @@ -case class C(); - -object arrays2 { - - def main(args: Array[String]): Unit = { - val a: Array[Array[C]] = new Array[Array[C]](2); - a(0) = new Array[C](2); - a(0)(0) = new C(); - } -} - -// #2422 -object arrays4 { - val args = Array[String]("World") - "Hello %1$s".format(args: _*) -} - -// #2461 -object arrays3 { - import scala.collection.JavaConversions._ - def apply[X](xs : X*) : java.util.List[X] = java.util.Arrays.asList(xs: _*) -} - diff --git a/tests/untried/pos/attachments-typed-another-ident/Impls_1.scala b/tests/untried/pos/attachments-typed-another-ident/Impls_1.scala deleted file mode 100644 index 98062a9c7..000000000 --- a/tests/untried/pos/attachments-typed-another-ident/Impls_1.scala +++ /dev/null @@ -1,18 +0,0 @@ -import scala.reflect.macros.blackbox.Context -import language.experimental.macros - -object MyAttachment - -object Macros { - def impl(c: Context) = { - import c.universe._ - import internal._ - val ident = updateAttachment(Ident(TermName("bar")), MyAttachment) - assert(attachments(ident).get[MyAttachment.type].isDefined, attachments(ident)) - val typed = c.typecheck(ident) - assert(attachments(typed).get[MyAttachment.type].isDefined, attachments(typed)) - c.Expr[Int](typed) - } - - def foo = macro impl -} diff --git a/tests/untried/pos/attachments-typed-another-ident/Macros_Test_2.scala b/tests/untried/pos/attachments-typed-another-ident/Macros_Test_2.scala deleted file mode 100644 index 022639bfe..000000000 --- a/tests/untried/pos/attachments-typed-another-ident/Macros_Test_2.scala +++ /dev/null @@ -1,5 +0,0 @@ -object Test extends App { - def bar = 2 - Macros.foo -} - diff --git a/tests/untried/pos/attachments-typed-ident/Impls_1.scala b/tests/untried/pos/attachments-typed-ident/Impls_1.scala deleted file mode 100644 index 98062a9c7..000000000 --- a/tests/untried/pos/attachments-typed-ident/Impls_1.scala +++ /dev/null @@ -1,18 +0,0 @@ -import scala.reflect.macros.blackbox.Context -import language.experimental.macros - -object MyAttachment - -object Macros { - def impl(c: Context) = { - import c.universe._ - import internal._ - val ident = updateAttachment(Ident(TermName("bar")), MyAttachment) - assert(attachments(ident).get[MyAttachment.type].isDefined, attachments(ident)) - val typed = c.typecheck(ident) - assert(attachments(typed).get[MyAttachment.type].isDefined, attachments(typed)) - c.Expr[Int](typed) - } - - def foo = macro impl -} diff --git a/tests/untried/pos/attachments-typed-ident/Macros_Test_2.scala b/tests/untried/pos/attachments-typed-ident/Macros_Test_2.scala deleted file mode 100644 index 45a0609de..000000000 --- a/tests/untried/pos/attachments-typed-ident/Macros_Test_2.scala +++ /dev/null @@ -1,4 +0,0 @@ -object Test extends App { - def bar = 2 - Macros.foo -} diff --git a/tests/untried/pos/bounds.scala b/tests/untried/pos/bounds.scala deleted file mode 100644 index 26bc84a1b..000000000 --- a/tests/untried/pos/bounds.scala +++ /dev/null @@ -1,11 +0,0 @@ -trait Map[A, +C] { - def ++ [B1 >: C] (kvs: Iterable[Tuple2[A, B1]]): Map[A, B1] = this - def ++ [B1 >: C] (kvs: Iterator[Tuple2[A, B1]]): Map[A, B1] = this -} - -class ListMap[A, +B] extends Map[A, B] {} - -object ListMap { - def empty[X, Y] = new ListMap[X, Y] - def apply[A1, B2](elems: Tuple2[A1, B2]*): Map[A1, B2] = empty[A1,B2].++(elems.iterator) -} diff --git a/tests/untried/pos/caseClassInMethod.scala b/tests/untried/pos/caseClassInMethod.scala deleted file mode 100644 index 958e5dd47..000000000 --- a/tests/untried/pos/caseClassInMethod.scala +++ /dev/null @@ -1,5 +0,0 @@ -object t { - def f = { object C; case class C(); 1 } - // pending: def g = { case class D(x: Int); object D; 2 } - def h = { case class E(y: Int = 10); 3 } -} diff --git a/tests/untried/pos/channels.scala b/tests/untried/pos/channels.scala deleted file mode 100644 index b2f0cdc32..000000000 --- a/tests/untried/pos/channels.scala +++ /dev/null @@ -1,29 +0,0 @@ -class Channel[a] - -import collection.mutable.Set - -case class ![a](chan: Channel[a], data: a) - -/* -object Bang { - def unapply[a](x: ![a]): Option[{Channel[a], a}] = - Some(x.chan, x.data) -} - -*/ -object Test extends App { - object IC extends Channel[Int] - def f[b](x: ![b]): Int = x match { - case send: ![c] => - send.chan match { - case IC => send.data - } - } -} - -object Test2 extends App { - object IC extends Channel[Set[Int]] - def f[b](s: ![b]): Set[Int] = s match { - case IC ! x => x - } -} diff --git a/tests/untried/pos/compound.scala b/tests/untried/pos/compound.scala deleted file mode 100644 index 60890f910..000000000 --- a/tests/untried/pos/compound.scala +++ /dev/null @@ -1,9 +0,0 @@ -abstract class A { type T } - -abstract class B { val xz: Any } - -abstract class Test { - var yy: A with B { type T; val xz: T } = null; - var xx: A with B { type T; val xz: T } = null; - xx = yy; -} diff --git a/tests/untried/pos/constfold.scala b/tests/untried/pos/constfold.scala deleted file mode 100644 index 8d431efba..000000000 --- a/tests/untried/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/untried/pos/context.scala b/tests/untried/pos/context.scala deleted file mode 100644 index 4e11d07eb..000000000 --- a/tests/untried/pos/context.scala +++ /dev/null @@ -1,38 +0,0 @@ -class Context { - object symwrap extends SymbolWrapper { - val context: Context.this.type = Context.this - } - object typewrap extends TypeWrapper { - val context: Context.this.type = Context.this - } - object symbols extends symwrap.Symbols; - object types extends typewrap.Types; -} - -abstract class SymbolWrapper { - val context: Context; - import context._; - - class Symbols { - self: context.symbols.type => - - abstract class Symbol { - def typ: types.Type; - def sym: Symbol = typ.sym; - } - } -} - -abstract class TypeWrapper { - val context: Context; - import context._; - - class Types { - self: context.types.type => - - abstract class Type { - def sym: symbols.Symbol; - def typ: Type = sym.typ; - } - } -} diff --git a/tests/untried/pos/contextbounds-implicits-new.scala b/tests/untried/pos/contextbounds-implicits-new.scala deleted file mode 100644 index 8389d1332..000000000 --- a/tests/untried/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/untried/pos/contrib701.scala b/tests/untried/pos/contrib701.scala deleted file mode 100644 index 6f0e53a36..000000000 --- a/tests/untried/pos/contrib701.scala +++ /dev/null @@ -1,3 +0,0 @@ -trait B { - type A[T] >: A[A[T]] -} diff --git a/tests/untried/pos/cycle-jsoup.flags b/tests/untried/pos/cycle-jsoup.flags deleted file mode 100644 index ca20f5517..000000000 --- a/tests/untried/pos/cycle-jsoup.flags +++ /dev/null @@ -1 +0,0 @@ --Ybreak-cycles diff --git a/tests/untried/pos/cycle-jsoup.scala b/tests/untried/pos/cycle-jsoup.scala deleted file mode 100644 index d547ecd93..000000000 --- a/tests/untried/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/untried/pos/delambdafy-lambdalift.scala b/tests/untried/pos/delambdafy-lambdalift.scala deleted file mode 100644 index e9da24ef3..000000000 --- a/tests/untried/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/untried/pos/depexists.scala b/tests/untried/pos/depexists.scala deleted file mode 100644 index dff1917a4..000000000 --- a/tests/untried/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/untried/pos/depmet_implicit_chaining_zw.scala b/tests/untried/pos/depmet_implicit_chaining_zw.scala deleted file mode 100644 index a9da1e976..000000000 --- a/tests/untried/pos/depmet_implicit_chaining_zw.scala +++ /dev/null @@ -1,28 +0,0 @@ -trait Zero -trait Succ[N] - -trait ZipWith[N, S] { - type T - val x: T = sys.error("") -} - -object ZipWith { - implicit def ZeroZipWith[S]: ZipWith[Zero,S]{type T = Stream[S]} = new ZipWith[Zero, S] { - type T = Stream[S] - } - - implicit def SuccZipWith[N, S, R](implicit zWith : ZipWith[N, R]): ZipWith[Succ[N],S => R]{type T = Stream[S] => zWith.T} = new ZipWith[Succ[N], S => R] { - type T = Stream[S] => zWith.T // dependent types replace the associated types functionality - } - - // can't use implicitly[ZipWith[Succ[Succ[Zero]], Int => String => Boolean]], - // since that will chop of the {type T = ... } refinement in adapt (pt = ZipWith[Succ[Succ[Zero]], Int => String => Boolean]) - // this works - // def zipWith(implicit zw: ZipWith[Succ[Succ[Zero]], Int => String => Boolean]): zw.T = zw.x - // thus, I present ?: implicitly on steroids! - def ?[T <: AnyRef](implicit w: T): w.type = w - - type _2 = Succ[Succ[Zero]] - val zw = ?[ZipWith[_2, Int => String => Boolean]].x // : Stream[Int] => Stream[String] => Stream[Boolean] - // val zw = implicitly[ZipWith[Succ[Succ[Zero]], Int => String => Boolean]{type T = Stream[Int] => Stream[String] => Stream[Boolean]}].x -} diff --git a/tests/untried/pos/depmet_implicit_norm_ret.scala b/tests/untried/pos/depmet_implicit_norm_ret.scala deleted file mode 100644 index 85be750b4..000000000 --- a/tests/untried/pos/depmet_implicit_norm_ret.scala +++ /dev/null @@ -1,29 +0,0 @@ -object Test{ - def ?[S <: AnyRef](implicit w : S) : w.type = w - - // fallback, lower priority (overloading rules apply: pick alternative in subclass lowest in subtyping lattice) - class ZipWithDefault { - implicit def ZeroZipWith[S]: Test.ZipWith[S]{type T = Stream[S]} = new ZipWith[S] { - type T = Stream[S] - } - } - - object ZipWith extends ZipWithDefault { - // def apply[S: ZipWith](s : S) = ?[ZipWith[S]].zipWith(s) // TODO: bug return type should be inferred - def apply[S](s : S)(implicit zw: ZipWith[S]): zw.T = zw.zipWith(s) - - implicit def SuccZipWith[S,R](implicit zWith : ZipWith[R]): Test.ZipWith[S => R]{type T = Stream[S] => zWith.T} = new ZipWith[S => R] { - type T = Stream[S] => zWith.T // dependent types replace the associated types functionality - } - } - - trait ZipWith[S] { - type T - def zipWith : S => T = sys.error("") - } - - // bug: inferred return type = (Stream[A]) => java.lang.Object with Test.ZipWith[B]{type T = Stream[B]}#T - // this seems incompatible with vvvvvvvvvvvvvvvvvvvvvv -- #3731 - def map[A,B](f : A => B) /* : Stream[A] => Stream[B]*/ = ZipWith(f) - val tst: Stream[Int] = map{x: String => x.length}(Stream("a")) -} diff --git a/tests/untried/pos/depmet_implicit_oopsla_session.scala b/tests/untried/pos/depmet_implicit_oopsla_session.scala deleted file mode 100644 index aa8478056..000000000 --- a/tests/untried/pos/depmet_implicit_oopsla_session.scala +++ /dev/null @@ -1,63 +0,0 @@ -object Sessions { - trait Session[This] { - type Dual - type HasDual[D] = Session[This]{type Dual=D} - def run(p: This, dp: Dual): Unit - } - - implicit object StopSession extends Session[Stop] { - type Dual = Stop - - def run(p: Stop, dp: Stop): Unit = {} - } - - implicit def InDual[A, B](implicit sessionDIn: Session[B]): Sessions.Session[Sessions.In[A,B]]{type Dual = Sessions.Out[A,sessionDIn.Dual]} = - new Session[In[A, B]] { - type Dual = Out[A, sessionDIn.Dual] - - def run(p: In[A, B], dp: Dual): Unit = - sessionDIn.run(p.func(dp.x), dp.y) - } - - implicit def OutDual[A, B](implicit sessionDOut: Session[B]): Sessions.Session[Sessions.Out[A,B]]{type Dual = Sessions.In[A,sessionDOut.Dual]} = - new Session[Out[A, B]] { - type Dual = In[A, sessionDOut.Dual] - - def run(p: Out[A, B], dp: Dual): Unit = - sessionDOut.run(p.y, dp.func(p.x)) - } - - sealed case class Stop() - sealed case class In[-A, +B](func: A => B) - sealed case class Out[+A, +B](x: A, y: B) - - def addServer = - In{x: Int => - In{y: Int => System.out.println("Thinking") - Out(x+y, - Stop())}} - - def addClient = - Out(3, - Out(4, { System.out.println("Waiting") - In{z: Int => System.out.println(z) - Stop()}})) - - def runSession[S, D: Session[S]#HasDual](p: S, dp: D) = - implicitly[Session[S]#HasDual[D]].run(p, dp) - - // def runSession[S, D](p: S, dp: D)(implicit s: Session[S]#HasDual[D]) = - // s.run(p, dp) - // - // def runSession[S, D](p: S, dp: D)(implicit s: Session[S]{type Dual=D}) = - // s.run(p, dp) - - // TODO: can we relax the ordering restrictions on dependencies so that we can use - // def runSession[S](p: S, dp: s.Dual)(implicit s: Session[S]) = - // s.run(p, dp) - // to emphasise similarity of type parameters and implicit arguments: - // def runSession[S][val s: Session[S]](p: S, dp: s.Dual) = - // s.run(p, dp) - - def myRun = runSession(addServer, addClient) -} diff --git a/tests/untried/pos/depmet_implicit_oopsla_session_2.scala b/tests/untried/pos/depmet_implicit_oopsla_session_2.scala deleted file mode 100644 index 4951c10a1..000000000 --- a/tests/untried/pos/depmet_implicit_oopsla_session_2.scala +++ /dev/null @@ -1,87 +0,0 @@ -object Sessions { - def ?[T <: AnyRef](implicit w: T): w.type = w - - // session states - sealed case class Stop() - sealed case class In[-Data, +Cont](recv: Data => Cont) - sealed case class Out[+Data, +Cont](data: Data, cont: Cont) - - // the type theory of communicating sessions: - - // an instance of type Session[S]{type Dual=D} is evidence that S and D are duals - // such a value witnesses this fact by describing how to compose an instance of S with an instance of D (through the run method) - trait Session[S] { type Self = S - type Dual - type HasDual[D] = Session[Self]{type Dual=D} - def run(self: Self, dual: Dual): Unit - } - - // friendly interface to the theory - def runSession[S, D: Session[S]#HasDual](session: S, dual: D) = - ?[Session[S]#HasDual[D]].run(session, dual) - - // facts in the theory: - - // ------------------------[StopDual] - // Stop is the dual of Stop - implicit object StopDual extends Session[Stop] { - type Dual = Stop - - def run(self: Self, dual: Dual): Unit = {} - } - - // CD is the dual of Cont - // -------------------------------------------[InDual] - // Out[Data, CD] is the dual of In[Data, Cont] - implicit def InDual[Data, Cont](implicit cont: Session[Cont]): Sessions.Session[Sessions.In[Data,Cont]]{type Dual = Sessions.Out[Data,cont.Dual]} = new Session[In[Data, Cont]] { - type Dual = Out[Data, cont.Dual] - - def run(self: Self, dual: Dual): Unit = - cont.run(self.recv(dual.data), dual.cont) - } - - // CD is the dual of Cont - // -------------------------------------------[OutDual] - // In[Data, CD] is the dual of Out[Data, Cont] - implicit def OutDual[Data, Cont](implicit cont: Session[Cont]): Sessions.Session[Sessions.Out[Data,Cont]]{type Dual = Sessions.In[Data,cont.Dual]} = new Session[Out[Data, Cont]] { - type Dual = In[Data, cont.Dual] - - def run(self: Self, dual: Dual): Unit = - cont.run(self.cont, dual.recv(self.data)) - } - - // a concrete session - def addServer = - In{x: Int => - In{y: Int => System.out.println("Thinking") - Out(x+y, - Stop())}} - - def addClient = - Out(3, - Out(4, { System.out.println("Waiting") - In{z: Int => System.out.println(z) - Stop()}})) - - def myRun = runSession(addServer, addClient) -} - -/* future improvements: - - - // def runSession[S, D](p: S, dp: D)(implicit s: Session[S]#HasDual[D]) = - // s.run(p, dp) - // - // def runSession[S, D](p: S, dp: D)(implicit s: Session[S]{type Dual=D}) = - // s.run(p, dp) - - // TODO: can we relax the ordering restrictions on dependencies so that we can write - // one possibility: graph of dependencies between arguments must be acyclic - // def runSession[S](p: S, dp: s.Dual)(implicit s: Session[S]) = - // s.run(p, dp) - // to emphasise similarity of type parameters and implicit arguments: - // def runSession[S][val s: Session[S]](p: S, dp: s.Dual) = - // s.run(p, dp) - - -*/ diff --git a/tests/untried/pos/depmet_implicit_oopsla_session_simpler.scala b/tests/untried/pos/depmet_implicit_oopsla_session_simpler.scala deleted file mode 100644 index 04b8f94e6..000000000 --- a/tests/untried/pos/depmet_implicit_oopsla_session_simpler.scala +++ /dev/null @@ -1,44 +0,0 @@ -object Sessions { - trait Session { - type Dual <: Session - - def run(dp: Dual): Unit - } - - sealed case class Stop() extends Session { - type Dual = Stop - - def run(dp: Dual): Unit = {} - } - - // can't write B <: Session{type Dual = BDual} due to limitations in type inference algorithm - // (type variables cannot occur on both sides of <:) - // using B#Dual instead of BDual is too imprecise, since it is disconnected from the actual argument that is passed for B - // would be nice if we could introduce a universal quantification over BDual that is not part of the - // type parameter list - sealed case class In[A, B <: Session, BDual <: Session](recv: A => B)(implicit dual: B <:< Session{type Dual=BDual}) extends Session { - type Dual = Out[A, BDual] - - def run(dp: Dual): Unit = recv(dp.data) run dp.cont - } - - sealed case class Out[A, B <: Session](data: A, cont: B) extends Session { - type Dual = In[A, cont.Dual, cont.Dual#Dual] - - def run(dp: Dual): Unit = cont run dp.recv(data) - } - - def addServer = - In{x: Int => - In{y: Int => System.out.println("Thinking") - Out(x+y, - Stop())}} - - def addClient = - Out(3, - Out(4, { System.out.println("Waiting") - In{z: Int => System.out.println(z) - Stop()}})) - - def myRun = addServer run addClient -} diff --git a/tests/untried/pos/depmet_implicit_oopsla_zipwith.scala b/tests/untried/pos/depmet_implicit_oopsla_zipwith.scala deleted file mode 100644 index 83171f865..000000000 --- a/tests/untried/pos/depmet_implicit_oopsla_zipwith.scala +++ /dev/null @@ -1,44 +0,0 @@ -case class Zero() -case class Succ[N](x: N) -import Stream.{cons, continually} - -trait ZipWith[N, S] { - type T - - def manyApp: N => Stream[S] => T - def zipWith: N => S => T = n => f => manyApp(n)(continually(f)) -} -object ZipWith { - implicit def ZeroZipWith[S]: ZipWith[Zero,S]{type T = Stream[S]} = new ZipWith[Zero, S] { - type T = Stream[S] - - def manyApp = n => xs => xs - } - - implicit def SuccZipWith[N, S, R](implicit zw: ZipWith[N, R]): ZipWith[Succ[N],S => R]{type T = Stream[S] => zw.T; def zapp[A, B](xs: Stream[A => B],ys: Stream[A]): Stream[B]} = - new ZipWith[Succ[N],S => R] { - type T = Stream[S] => zw.T - - def zapp[A, B](xs: Stream[A => B], ys: Stream[A]): Stream[B] = (xs, ys) match { - case (cons(f, fs), cons(s, ss)) => cons(f(s),zapp(fs, ss)) - case (_, _) => Stream.empty - } - - def manyApp = n => xs => ss => n match { - case Succ(i) => zw.manyApp(i)(zapp(xs, ss)) - } - } -} - -object Test { - def zWith[N, S](n: N, s: S)(implicit zw: ZipWith[N, S]): zw.T = zw.zipWith(n)(s) - - def zipWith0: Stream[Int] = zWith(Zero(),0) - -// (Stream[A]) => java.lang.Object with ZipWith[Zero,B]{type T = Stream[B]}#T -// should normalise to: Stream[A] => Stream[B] - def map[A, B](f: A => B) = zWith(Succ(Zero()),f) - - def zipWith3[A, B, C, D](f: A => B => C => D) = //: Stream[A] => Stream[B] => Stream[C] => Stream[D] = // BUG why do we need a return type? - zWith(Succ(Succ(Succ(Zero()))),f) -} diff --git a/tests/untried/pos/dotless-targs.scala b/tests/untried/pos/dotless-targs.scala deleted file mode 100644 index 8c0e244e4..000000000 --- a/tests/untried/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/untried/pos/exbound.scala b/tests/untried/pos/exbound.scala deleted file mode 100644 index be78abc26..000000000 --- a/tests/untried/pos/exbound.scala +++ /dev/null @@ -1,7 +0,0 @@ -class A[T <: A[T]] { - -} - -object Test { - val x: A[_] = null -} diff --git a/tests/untried/pos/exhaust_alternatives.flags b/tests/untried/pos/exhaust_alternatives.flags deleted file mode 100644 index e8fb65d50..000000000 --- a/tests/untried/pos/exhaust_alternatives.flags +++ /dev/null @@ -1 +0,0 @@ --Xfatal-warnings
\ No newline at end of file diff --git a/tests/untried/pos/exhaust_alternatives.scala b/tests/untried/pos/exhaust_alternatives.scala deleted file mode 100644 index 7fdecffa7..000000000 --- a/tests/untried/pos/exhaust_alternatives.scala +++ /dev/null @@ -1,10 +0,0 @@ -sealed abstract class X -sealed case class A(x: Boolean) extends X -case object B extends X - -object Test { - def test(x: X) = x match { - case A(true) => - case A(false) | B => - } -} diff --git a/tests/untried/pos/exhaustive_heuristics.scala b/tests/untried/pos/exhaustive_heuristics.scala deleted file mode 100644 index 5fb709c52..000000000 --- a/tests/untried/pos/exhaustive_heuristics.scala +++ /dev/null @@ -1,26 +0,0 @@ -// tests exhaustivity doesn't give warnings (due to its heuristic rewrites kicking in or it backing off) -object Test { - // List() => Nil - List(1) match { - case List() => - case x :: xs => - } - - // we don't look into guards - val turnOffChecks = true - List(1) match { - case _ if turnOffChecks => - } - - // we back off when there are any user-defined extractors - // in fact this is exhaustive, but we pretend we don't know since List's unapplySeq is not special to the compiler - // to compensate our ignorance, we back off - // well, in truth, we do rewrite List() to Nil, but otherwise we do nothing - // the full rewrite List(a, b) to a :: b :: Nil, for example is planned (but not sure it's a good idea) - List(true, false) match { - case List(_, _, _*) => - case List(node, _*) => - case Nil => - } - -} diff --git a/tests/untried/pos/existentials-harmful.scala b/tests/untried/pos/existentials-harmful.scala deleted file mode 100644 index 8722852e8..000000000 --- a/tests/untried/pos/existentials-harmful.scala +++ /dev/null @@ -1,54 +0,0 @@ -// a.scala -// Mon Jul 11 14:18:26 PDT 2011 - -object ExistentialsConsideredHarmful { - class Animal(val name: String) - object Dog extends Animal("Dog") - object Sheep extends Animal("Sheep") - - trait Tools[A] { - def shave(a: A): A - } - def tools[A](a: A): Tools[A] = null // dummy - - case class TransportBox[A <: Animal](animal: A, tools: Tools[A]) { - def label: String = animal.name - } - - // 1. - def carry[A <: Animal](box: TransportBox[A]): Unit = { - println(box.animal.name+" got carried away") - } - - val aBox = - if (math.random < 0.5) - TransportBox(Dog, tools(Dog)) - else - TransportBox(Sheep, tools(Sheep)) - - // 2. - //aBox.tools.shave(aBox.animal) - - // Use pattern match to avoid opening the existential twice - aBox match { - case TransportBox(animal, tools) => tools.shave(animal) - } - - abstract class BoxCarrier[R <: Animal](box: TransportBox[R]) { - def speed: Int - - def talkToAnimal: Unit = println("The carrier says hello to"+box.animal.name) - } - - // 3. - //val bc = new BoxCarrier(aBox) { - - // Use pattern match to avoid opening the existential twice - // Type annotation on bc is required ... possible compiler bug? - // val bc : BoxCarrier[_ <: Animal] = aBox match { - val bc = aBox match { - case tb : TransportBox[a] => new BoxCarrier(tb) { - def speed: Int = 12 - } - } -} diff --git a/tests/untried/pos/exponential-spec.scala b/tests/untried/pos/exponential-spec.scala deleted file mode 100644 index 54515c1d2..000000000 --- a/tests/untried/pos/exponential-spec.scala +++ /dev/null @@ -1,47 +0,0 @@ -// a.scala -// Sat Jun 30 19:51:17 PDT 2012 - -trait Exp[T] - -object Test { - def f[T](exp: Exp[T]): Exp[T] = ( - f[T] _ - compose f[T] - compose f[T] - compose f[T] - compose f[T] - compose f[T] - compose f[T] - compose f[T] - compose f[T] - compose f[T] - compose f[T] // 4s - compose f[T] // 5s - compose f[T] // 5s - compose f[T] // 6s - compose f[T] // 7s - compose f[T] // 8s - compose f[T] // 11s - compose f[T] // 17s - compose f[T] // 29s - compose f[T] // 54s - compose f[T] - compose f[T] - compose f[T] - compose f[T] - compose f[T] - compose f[T] - compose f[T] - compose f[T] - compose f[T] - compose f[T] - compose f[T] - compose f[T] - compose f[T] - compose f[T] - compose f[T] - compose f[T] - compose f[T] - compose f[T] - )(exp) -} diff --git a/tests/untried/pos/extractor-types.scala b/tests/untried/pos/extractor-types.scala deleted file mode 100644 index 200279be6..000000000 --- a/tests/untried/pos/extractor-types.scala +++ /dev/null @@ -1,30 +0,0 @@ -package p1 { - object Ex { def unapply(p: Any): Option[_ <: Int] = null } - object Foo { val Ex(_) = null } -} -// a.scala:2: error: error during expansion of this match (this is a scalac bug). -// The underlying error was: type mismatch; -// found : Some[_$1(in value x$1)] where type _$1(in value x$1) -// required: Some[_$1(in method unapply)] -// object Foo { val Ex(_) = null } -// ^ -// one error found - -package p2 { - trait Other { - class Quux - object Baz { def unapply(x: Any): Option[Quux] = None } - } - trait Reifiers { - def f(): Unit = { - val u2: Other = null - (null: Any) match { case u2.Baz(x) => println(x) } //: u2.Quux) } - // The underlying error was: type mismatch; - // found : Other#Quux - // required: u2.Quux - // x match { case u2.Baz(x) => println(x: u2.Quux) } - // ^ - // one error found - } - } -} diff --git a/tests/untried/pos/five-dot-f.flags b/tests/untried/pos/five-dot-f.flags deleted file mode 100644 index 112fc720a..000000000 --- a/tests/untried/pos/five-dot-f.flags +++ /dev/null @@ -1 +0,0 @@ --Xfuture
\ No newline at end of file diff --git a/tests/untried/pos/five-dot-f.scala b/tests/untried/pos/five-dot-f.scala deleted file mode 100644 index 8a7f86e21..000000000 --- a/tests/untried/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/untried/pos/functions.scala b/tests/untried/pos/functions.scala deleted file mode 100644 index 0207523dd..000000000 --- a/tests/untried/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/untried/pos/gadt-gilles.scala b/tests/untried/pos/gadt-gilles.scala deleted file mode 100644 index 662be9017..000000000 --- a/tests/untried/pos/gadt-gilles.scala +++ /dev/null @@ -1,37 +0,0 @@ -object Test { - trait A[T] - trait B[U, V] extends A[U with V] // indirect constraint - trait C - trait D - - val x: A[C with D] = new B[C, D] {} - val y: A[C with D] = x match { case b: B[u, v] => (new B[u, v] {}): A[u with v] } // OK - - - def f[T, U](p: A[T with U]): A[T with U] = p match { case b: B[u, v] => new A[u with v] {} } // Not OK -} - -object Test1 { - - trait T[U, V <: U] - - def f(r: Any) = r match { - - case t: T[u, v] => new T[u, v]{} - - } - -} -object Test2 { - - trait T[U, V <: U] - - val x: T[Int, Int] = new T[Int, Int]{} - - x match { - - case t: T[u, v] => new T[u, v]{} - - } - -} diff --git a/tests/untried/pos/gadts2.scala b/tests/untried/pos/gadts2.scala deleted file mode 100644 index b67bafb32..000000000 --- a/tests/untried/pos/gadts2.scala +++ /dev/null @@ -1,25 +0,0 @@ -object Test { - - abstract class Number - case class MyInt(n: Int) extends Number - case class MyDouble(d: Double) extends Number - - trait Term[a] - case class Cell[a](var x: a) extends Term[a] - final case class NumTerm(val n: Number) extends Term[Number] - - def f[a](t: Term[a], c: Cell[a]): Unit = { - t match { - case NumTerm(n) => c.x = MyDouble(1.0) - } - } - - val x: Term[Number] = NumTerm(MyInt(5)) - - def main(args: Array[String]): Unit = { - val cell = Cell[Number](MyInt(6)) - Console.println(cell) - f[Number](new NumTerm(MyInt(5)), cell) - Console.println(cell) - } -} diff --git a/tests/untried/pos/generic-sigs.flags b/tests/untried/pos/generic-sigs.flags deleted file mode 100644 index e8fb65d50..000000000 --- a/tests/untried/pos/generic-sigs.flags +++ /dev/null @@ -1 +0,0 @@ --Xfatal-warnings
\ No newline at end of file diff --git a/tests/untried/pos/generic-sigs.scala b/tests/untried/pos/generic-sigs.scala deleted file mode 100644 index b751e215e..000000000 --- a/tests/untried/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/untried/pos/getClassType.scala b/tests/untried/pos/getClassType.scala deleted file mode 100644 index 7482788a4..000000000 --- a/tests/untried/pos/getClassType.scala +++ /dev/null @@ -1,16 +0,0 @@ -trait IdlBase - -class IdlConcrete extends IdlBase - -class A { - // In general, this method should not need an instance to reflect on it, so - // take a Class[] - def reflect(clazz : Class[_ <: IdlBase]) = { - // Get a list of all its methods and build a hash keyed by method name - // for statistics recording. - } - - // But I also really have an IdlConcrete generated by Spring here... - val idl = new IdlConcrete - reflect(idl.getClass) -} diff --git a/tests/untried/pos/hk-infer.scala b/tests/untried/pos/hk-infer.scala deleted file mode 100644 index c23a9d151..000000000 --- a/tests/untried/pos/hk-infer.scala +++ /dev/null @@ -1,37 +0,0 @@ -object Basis { - final case class X[T](t: T) - val x = Seq(X(32)) - val y = Seq(X(true)) - val x1 = Seq(X("asdf")) - val x2 = Seq(X('d')) -} -import Basis._ - -object DoesWork { - // Doesn'tWork - // def f1 = x ++ y ++ x1 ++ x2 - - def f2 = List(x, y, x1, x2).flatten -} - -// Testing the not giving of explicit Booper[M] arguments. -object ShouldWorkHK { - class Booper[M[_]](xs: Seq[M[_]]) extends collection.generic.SeqForwarder[M[_]] { - def underlying = xs - def BOOP(ys: Seq[M[_]]) = new Booper(xs ++ ys) - } - implicit def mkBoop[M[_]](xs: Seq[M[_]]): ShouldWorkHK.Booper[M] = new Booper(xs) - - def f1 = x BOOP y BOOP x1 BOOP x2 -} - -object DoesWorkHK { - class Booper[M[_]](xs: Seq[M[_]]) extends collection.generic.SeqForwarder[M[_]] { - def underlying = xs - def BOOP(ys: Seq[M[_]]) = new Booper[M](xs ++ ys) - } - implicit def mkBoop[M[_]](xs: Seq[M[_]]): DoesWorkHK.Booper[M] = new Booper[M](xs) - - def f1 = x BOOP y BOOP x1 BOOP x2 -} - diff --git a/tests/untried/pos/hklub0.scala b/tests/untried/pos/hklub0.scala deleted file mode 100644 index 36cd46332..000000000 --- a/tests/untried/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/untried/pos/hkrange.scala b/tests/untried/pos/hkrange.scala deleted file mode 100644 index a6803230e..000000000 --- a/tests/untried/pos/hkrange.scala +++ /dev/null @@ -1,5 +0,0 @@ -class A { - def f[CC[X] <: Traversable[X]](x: CC[Int]) = () - - f(1 to 5) -} diff --git a/tests/untried/pos/implicits-new.scala b/tests/untried/pos/implicits-new.scala deleted file mode 100644 index f6b69c707..000000000 --- a/tests/untried/pos/implicits-new.scala +++ /dev/null @@ -1,92 +0,0 @@ -import scala.reflect.runtime.universe._ -import scala.reflect.{ClassTag, classTag} - -// #1435 -object t1435 { - implicit def a(s:String):String = sys.error("") - implicit def a(i:Int):String = sys.error("") - implicit def b(i:Int):String = sys.error("") -} - -class C1435 { - val v:String = { - import t1435.a - 2 - } -} - -// #1492 -class C1492 { - - class X - - def foo(x: X => X): Unit = {} - - foo ( implicit x => implicitly[X] ) - foo { implicit x => implicitly[X] } -} - -// #1579 -object Test1579 { - class Column - class Query[E](val value: E) - class Invoker(q: Any) { val foo = null } - - implicit def unwrap[C](q: Query[C]): C = q.value - implicit def invoker(q: Query[Column]): Test1579.Invoker = new Invoker(q) - - val q = new Query(new Column) - q.foo -} -// #1625 -object Test1625 { - - class Wrapped(x:Any) { - def unwrap() = x - } - - implicit def byName[A](x: =>A): Test1625.Wrapped = new Wrapped(x) - - implicit def byVal[A](x: A): A = x - - def main(args: Array[String]) = { - -// val res:Wrapped = 7 // works - - val res = 7.unwrap() // doesn't work - - println("=> result: " + res) - } -} - -object Test2188 { - implicit def toJavaList[A: ClassTag](t:collection.Seq[A]):java.util.List[A] = java.util.Arrays.asList(t.toArray:_*) - - val x: java.util.List[String] = List("foo") -} - -object TestNumericWidening { - val y = 1 - val x: java.lang.Long = y -} - -// #2709 -package foo2709 { - class A - class B - - package object bar { - implicit def a2b(a: A): B = new B - } - - package bar { - object test { - new A: B - } - } -} - -// Problem with specs -object specsProblem { - println(implicitly[TypeTag[Class[_]]]) -} diff --git a/tests/untried/pos/implicits-old.scala b/tests/untried/pos/implicits-old.scala deleted file mode 100644 index 96edd01f3..000000000 --- a/tests/untried/pos/implicits-old.scala +++ /dev/null @@ -1,89 +0,0 @@ -// #1435 -object t1435 { - implicit def a(s:String):String = sys.error("") - implicit def a(i:Int):String = sys.error("") - implicit def b(i:Int):String = sys.error("") -} - -class C1435 { - val v:String = { - import t1435.a - 2 - } -} - -// #1492 -class C1492 { - - class X - - def foo(x: X => X): Unit = {} - - foo ( implicit x => implicitly[X] ) - foo { implicit x => implicitly[X] } -} - -// #1579 -object Test1579 { - class Column - class Query[E](val value: E) - class Invoker(q: Any) { val foo = null } - - implicit def unwrap[C](q: Query[C]): C = q.value - implicit def invoker(q: Query[Column]): Test1579.Invoker = new Invoker(q) - - val q = new Query(new Column) - q.foo -} -// #1625 -object Test1625 { - - class Wrapped(x:Any) { - def unwrap() = x - } - - implicit def byName[A](x: =>A): Test1625.Wrapped = new Wrapped(x) - - implicit def byVal[A](x: A): A = x - - def main(args: Array[String]) = { - -// val res:Wrapped = 7 // works - - val res = 7.unwrap() // doesn't work - - println("=> result: " + res) - } -} - -object Test2188 { - implicit def toJavaList[A: ClassManifest](t:collection.Seq[A]):java.util.List[A] = java.util.Arrays.asList(t.toArray:_*) - - val x: java.util.List[String] = List("foo") -} - -object TestNumericWidening { - val y = 1 - val x: java.lang.Long = y -} - -// #2709 -package foo2709 { - class A - class B - - package object bar { - implicit def a2b(a: A): B = new B - } - - package bar { - object test { - new A: B - } - } -} - -// Problem with specs -object specsProblem { - println(implicitly[Manifest[Class[_]]]) -} diff --git a/tests/untried/pos/imports-pos.scala b/tests/untried/pos/imports-pos.scala deleted file mode 100644 index f6a55e5e0..000000000 --- a/tests/untried/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/untried/pos/infer2-pos.scala b/tests/untried/pos/infer2-pos.scala deleted file mode 100644 index 2ce88be54..000000000 --- a/tests/untried/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/untried/pos/infersingle.flags b/tests/untried/pos/infersingle.flags deleted file mode 100644 index e1b37447c..000000000 --- a/tests/untried/pos/infersingle.flags +++ /dev/null @@ -1 +0,0 @@ --Xexperimental
\ No newline at end of file diff --git a/tests/untried/pos/infersingle.scala b/tests/untried/pos/infersingle.scala deleted file mode 100644 index 60f4ff07e..000000000 --- a/tests/untried/pos/infersingle.scala +++ /dev/null @@ -1,52 +0,0 @@ -object Test1 { - def one[T](x: T): Option[T] = Some(x) - val x = "one" - val y: Option[x.type] = one(x) -} - -object Test2 { - // Has never worked, but seems desirable given the recent changes to - // pattern type inference. - val a = "" - object Id { - def unapply(xxxx: Any): Some[a.type] = Some[a.type](a) - } - val b: a.type = (a: a.type) match { - case Id(x) => x - } -} - -object Test3 { - val a = "" - object Id { - def unapply(xxxx: Any): Some[Test3.type] = Some[Test3.type](Test3) - } - val b: Test3.type = a match { - case Id(x) => x - } -} - -class Test4 { - val a = "" - object Id { - def unapply(xxxx: Any): Some[Test4.this.type] = Some[Test4.this.type](Test4.this) - } - val b: Test4.this.type = a match { - case Id(x) => x - } -} - -class Super5 { - final val q = "" - def q1: q.type = q -} - -class Test5 extends Super5 { - val a = "" - object Id { - def unapply(xxxx: Any): Some[Test5.super.q.type] = Some[Test5.super.q.type](q1) - } - val b: Test5.super.q.type = a match { - case Id(x) => x - } -} diff --git a/tests/untried/pos/isApplicableSafe.scala b/tests/untried/pos/isApplicableSafe.scala deleted file mode 100644 index b4cacbf28..000000000 --- a/tests/untried/pos/isApplicableSafe.scala +++ /dev/null @@ -1,8 +0,0 @@ -class A { - // Any of Array[List[Symbol]], List[Array[Symbol]], or List[List[Symbol]] compile. - var xs: Array[Array[Symbol]] = _ - var ys: Array[Map[Symbol, Set[Symbol]]] = _ - - xs = Array(Array()) - ys = Array(Map(), Map()) -} diff --git a/tests/untried/pos/lambdalift.scala b/tests/untried/pos/lambdalift.scala deleted file mode 100644 index bc997d6f8..000000000 --- a/tests/untried/pos/lambdalift.scala +++ /dev/null @@ -1,15 +0,0 @@ -import scala._; - -object test { - - def f(x: Int) = { - def g() = h(); - def h() = x; - g(); - class inner() { - def g() = h(); - def h() = x; - } - g() + new inner().g(); - } -} diff --git a/tests/untried/pos/lambdalift1.scala b/tests/untried/pos/lambdalift1.scala deleted file mode 100644 index 01b224c3b..000000000 --- a/tests/untried/pos/lambdalift1.scala +++ /dev/null @@ -1,17 +0,0 @@ -import scala._; - -object test { - - def f[a <: java.lang.Object](x: a) = { - def print() = java.lang.System.out.println(x); - class A() { - def g() = { - class B() { - def h() = print() - } - new B().h() - } - } - new A().g() - } -} diff --git a/tests/untried/pos/liftcode_polymorphic.scala b/tests/untried/pos/liftcode_polymorphic.scala deleted file mode 100644 index 249f5a056..000000000 --- a/tests/untried/pos/liftcode_polymorphic.scala +++ /dev/null @@ -1,12 +0,0 @@ -import scala.reflect.runtime.universe._ - -object Append extends App { - - def append[A](l1: List[A], l2: List[A]):List[A] = - l1 match { - case Nil => l2 - case x::xs => x :: append(xs, l2) - } - - println(reify(append _).tree) -} diff --git a/tests/untried/pos/list-optim-check.flags b/tests/untried/pos/list-optim-check.flags deleted file mode 100644 index 49d036a88..000000000 --- a/tests/untried/pos/list-optim-check.flags +++ /dev/null @@ -1 +0,0 @@ --optimize diff --git a/tests/untried/pos/list-optim-check.scala b/tests/untried/pos/list-optim-check.scala deleted file mode 100644 index f6e6ddec7..000000000 --- a/tests/untried/pos/list-optim-check.scala +++ /dev/null @@ -1,21 +0,0 @@ -// Tests a map known to crash in optimizer with faster List map in SI-8240. -// Equivalent tests for collect and flatmap do not crash, but are provided -// anyway. -// See ticket SI-8334 for optimizer bug. -// TODO - Remove this test once SI-8334 is fixed and has its own test. -class A { - def f: Boolean = { - val xs = Nil map (_ => return false) - true - } - - def g: Boolean = { - val xs = Nil collect { case _ => return false } - true - } - - def h: Boolean = { - val xs = Nil flatMap { _ => return false } - true - } -} diff --git a/tests/untried/pos/lookupswitch.scala b/tests/untried/pos/lookupswitch.scala deleted file mode 100644 index 5d4825124..000000000 --- a/tests/untried/pos/lookupswitch.scala +++ /dev/null @@ -1,36 +0,0 @@ -// There's not a real test here, but on compilation the -// switch should have the cases arranged in order from 1-30. -class A { - def f(x: Int) = x match { - case 6 => "6" - case 18 => "18" - case 7 => "7" - case 2 => "2" - case 13 => "13" - case 11 => "11" - case 26 => "26" - case 27 => "27" - case 29 => "29" - case 25 => "25" - case 9 => "9" - case 17 => "17" - case 16 => "16" - case 1 => "1" - case 30 => "30" - case 15 => "15" - case 22 => "22" - case 19 => "19" - case 23 => "23" - case 8 => "8" - case 28 => "28" - case 5 => "5" - case 12 => "12" - case 10 => "10" - case 21 => "21" - case 24 => "24" - case 4 => "4" - case 14 => "14" - case 3 => "3" - case 20 => "20" - } -} diff --git a/tests/untried/pos/looping-jsig.scala b/tests/untried/pos/looping-jsig.scala deleted file mode 100644 index 6e3313c46..000000000 --- a/tests/untried/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/untried/pos/lubs.scala b/tests/untried/pos/lubs.scala deleted file mode 100644 index d7651f86b..000000000 --- a/tests/untried/pos/lubs.scala +++ /dev/null @@ -1,3 +0,0 @@ -object Test { - List(new { def f = 1; def g = 1}, new { def f = 2}).map(_.f) -} diff --git a/tests/untried/pos/macro-bundle-disambiguate-bundle.check b/tests/untried/pos/macro-bundle-disambiguate-bundle.check deleted file mode 100644 index e69de29bb..000000000 --- a/tests/untried/pos/macro-bundle-disambiguate-bundle.check +++ /dev/null diff --git a/tests/untried/pos/macro-bundle-disambiguate-bundle.scala b/tests/untried/pos/macro-bundle-disambiguate-bundle.scala deleted file mode 100644 index 40d965b0e..000000000 --- a/tests/untried/pos/macro-bundle-disambiguate-bundle.scala +++ /dev/null @@ -1,14 +0,0 @@ -import scala.reflect.macros.whitebox._ -import scala.language.experimental.macros - -class Macros(val c: Context) { - def impl = ??? -} - -object Macros { - def impl(c: Context)(x: c.Tree) = ??? -} - -object Test extends App { - def foo: Unit = macro Macros.impl -} diff --git a/tests/untried/pos/macro-bundle-disambiguate-nonbundle.check b/tests/untried/pos/macro-bundle-disambiguate-nonbundle.check deleted file mode 100644 index e69de29bb..000000000 --- a/tests/untried/pos/macro-bundle-disambiguate-nonbundle.check +++ /dev/null diff --git a/tests/untried/pos/macro-bundle-disambiguate-nonbundle.scala b/tests/untried/pos/macro-bundle-disambiguate-nonbundle.scala deleted file mode 100644 index 185177607..000000000 --- a/tests/untried/pos/macro-bundle-disambiguate-nonbundle.scala +++ /dev/null @@ -1,14 +0,0 @@ -import scala.reflect.macros.whitebox._ -import scala.language.experimental.macros - -class Macros(val c: Context) { - def impl(x: c.Tree) = ??? -} - -object Macros { - def impl(c: Context) = ??? -} - -object Test extends App { - def foo: Unit = macro Macros.impl -} diff --git a/tests/untried/pos/macro-deprecate-dont-touch-backquotedidents.flags b/tests/untried/pos/macro-deprecate-dont-touch-backquotedidents.flags deleted file mode 100644 index e8fb65d50..000000000 --- a/tests/untried/pos/macro-deprecate-dont-touch-backquotedidents.flags +++ /dev/null @@ -1 +0,0 @@ --Xfatal-warnings
\ No newline at end of file diff --git a/tests/untried/pos/macro-deprecate-dont-touch-backquotedidents.scala b/tests/untried/pos/macro-deprecate-dont-touch-backquotedidents.scala deleted file mode 100644 index 8eb5a0238..000000000 --- a/tests/untried/pos/macro-deprecate-dont-touch-backquotedidents.scala +++ /dev/null @@ -1,56 +0,0 @@ -object Test1 { - val `macro` = ??? -} - -object Test2 { - var `macro` = ??? -} - -object Test3 { - type `macro` = Int -} - -package test4 { - class `macro` -} - -object Test5 { - class `macro` -} - -package test6 { - object `macro` -} - -object Test7 { - object `macro` -} - -package test8 { - trait `macro` -} - -object Test9 { - trait `macro` -} - -package `macro` { - package `macro`.bar { - } -} - -package foo { - package `macro`.foo { - } -} - -//object Test12 { -// val Some(`macro`) = Some(42) -// `macro` match { -// case `macro` => println(`macro`) -// } -//} - -object Test13 { - def `macro` = 2 -} diff --git a/tests/untried/pos/macro-implicit-invalidate-on-error.check b/tests/untried/pos/macro-implicit-invalidate-on-error.check deleted file mode 100644 index e69de29bb..000000000 --- a/tests/untried/pos/macro-implicit-invalidate-on-error.check +++ /dev/null diff --git a/tests/untried/pos/macro-implicit-invalidate-on-error.scala b/tests/untried/pos/macro-implicit-invalidate-on-error.scala deleted file mode 100644 index bb83e3cc3..000000000 --- a/tests/untried/pos/macro-implicit-invalidate-on-error.scala +++ /dev/null @@ -1,25 +0,0 @@ -import scala.language.experimental.macros -import scala.reflect.macros.blackbox.Context - -trait LegacyLiftable[T] { - def apply(universe: scala.reflect.api.Universe, value: T): universe.Tree -} - -object LegacyLiftable { - implicit def liftCaseClass[T <: Product]: LegacyLiftable[T] = macro liftCaseClassImpl[T] - - def liftCaseClassImpl[T: c.WeakTypeTag](c: Context): c.Expr[LegacyLiftable[T]] = { - import c.universe._ - val tpe = weakTypeOf[T] - if (!tpe.typeSymbol.asClass.isCaseClass) c.abort(c.enclosingPosition, "denied") - val p = List(q"Literal(Constant(1))") - c.Expr[LegacyLiftable[T]] { q""" - new LegacyLiftable[$tpe] { - def apply(universe: scala.reflect.api.Universe, value: $tpe): universe.Tree = { - import universe._ - Apply(Select(Ident(TermName("C")), TermName("apply")), List(..$p)) - } - } - """ } - } -} diff --git a/tests/untried/pos/macro-qmarkqmarkqmark.scala b/tests/untried/pos/macro-qmarkqmarkqmark.scala deleted file mode 100644 index de94d69d5..000000000 --- a/tests/untried/pos/macro-qmarkqmarkqmark.scala +++ /dev/null @@ -1,7 +0,0 @@ -import language.experimental.macros - -object Macros { - def foo1 = macro ??? - def foo2(x: Int) = macro ??? - def foo3[T] = macro ??? -} diff --git a/tests/untried/pos/manifest1-new.scala b/tests/untried/pos/manifest1-new.scala deleted file mode 100644 index 3a957bf0d..000000000 --- a/tests/untried/pos/manifest1-new.scala +++ /dev/null @@ -1,21 +0,0 @@ -import scala.reflect.runtime.universe._ - -object Test { - def foo[T](x: T)(implicit m: TypeTag[T]): Unit = { - foo(List(x)) - } - foo(1) - foo("abc") - foo(List(1, 2, 3)) - val x: List[Int] with Ordered[List[Int]] = null - foo(x) - foo[x.type](x) - abstract class C { type T = String; val x: T } - val c = new C { val x = "abc" } - foo(c.x) - abstract class D { type T; implicit val m: TypeTag[T]; val x: T } - val stringm = implicitly[TypeTag[String]] - val d: D = new D { type T = String; val m = stringm; val x = "x" } - import d.m - foo(d.x) -} diff --git a/tests/untried/pos/manifest1-old.scala b/tests/untried/pos/manifest1-old.scala deleted file mode 100644 index b24311bd3..000000000 --- a/tests/untried/pos/manifest1-old.scala +++ /dev/null @@ -1,21 +0,0 @@ -import scala.reflect.Manifest - -object Test { - def foo[T](x: T)(implicit m: Manifest[T]): Unit = { - foo(List(x)) - } - foo(1) - foo("abc") - foo(List(1, 2, 3)) - val x: List[Int] with Ordered[List[Int]] = null - foo(x) - foo[x.type](x) - abstract class C { type T = String; val x: T } - val c = new C { val x = "abc" } - foo(c.x) - abstract class D { type T; implicit val m: Manifest[T]; val x: T } - val stringm = implicitly[Manifest[String]] - val d: D = new D { type T = String; val m = stringm; val x = "x" } - import d.m - foo(d.x) -} diff --git a/tests/untried/pos/matthias1.scala b/tests/untried/pos/matthias1.scala deleted file mode 100644 index a923a529f..000000000 --- a/tests/untried/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/untried/pos/matthias4.scala b/tests/untried/pos/matthias4.scala deleted file mode 100644 index 18599ae71..000000000 --- a/tests/untried/pos/matthias4.scala +++ /dev/null @@ -1,84 +0,0 @@ -/* -object A requires B { - B.X getX() { - return B.getX(); - } - void setX(B.X x) {} -} -object B { - class X {} - X getX() { - return new X(); - } - void setX(X x) {} -} -object C requires B { - object A; - void test() { - A.setX(B.getX()); - } -} -*/ - -trait _a extends AnyRef with _b { - val a: _a; - val A: A; - type A <: a.AObject; - trait AObject { - def getX(): B.X; - def setX(x: B.X): Unit; - } -} -trait a123 extends AnyRef with _a with _b { - val a: this.type = this; - val A: A = new A(); - class A() extends AObject { - def getX(): B.X = B.getX(); - def setX(x: B.X) = B.setX(x); - } -} - -trait _b { - val b: _b; - val B: B; - type B <: b.BObject; - trait BObject { - type X; - def getX(): X; - def setX(x: X): Unit; - } -} -abstract class b() extends AnyRef with _b { - val b: this.type = this; - val B: B = new B(); - class B() extends BObject { - class X() {} - def getX(): X = new X(); - def setX(x: X) = (); - } -} - -trait _m { - val m: _m; - val M: M; - type M <: m.MObject; - trait MObject {} -} -abstract class m() extends AnyRef with _m with _b { - val m: this.type = this; - val M: M = new M(); - class M() extends MObject with a123 with Linker { - def test() = { - val x: B.X = B.getX(); - A.setX(x); - } - } - trait Linker { - val b: m.this.b.type = m.this.b; - val B: m.this.B.type = m.this.B; - type B = m.this.B; - val m: m.this.m.type = m.this.m; - val M: m.this.M.type = m.this.M; - type M = m.this.M; - } -} diff --git a/tests/untried/pos/michel6.scala b/tests/untried/pos/michel6.scala deleted file mode 100644 index b32e8bed7..000000000 --- a/tests/untried/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/untried/pos/mixins.scala b/tests/untried/pos/mixins.scala deleted file mode 100644 index 846d6a41b..000000000 --- a/tests/untried/pos/mixins.scala +++ /dev/null @@ -1,22 +0,0 @@ -package mixins -abstract class Super { - def foo: Int -} -trait Mixin extends Super { - abstract override def foo = super.foo -} -trait MixinSub extends Super with Mixin { - abstract override def foo: Int = super.foo -} -trait MixinSubSub extends MixinSub { - abstract override def foo = super.foo -} -class Sub extends Super { - def foo: Int = 1 -} -class Base extends Sub with MixinSubSub { - override def foo = super.foo -} -trait Mixin1 extends Sub with MixinSubSub {} -class Base1 extends Mixin1 {} - diff --git a/tests/untried/pos/moduletrans.scala b/tests/untried/pos/moduletrans.scala deleted file mode 100644 index 51538417e..000000000 --- a/tests/untried/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/untried/pos/native-warning.flags b/tests/untried/pos/native-warning.flags deleted file mode 100644 index 65faf5357..000000000 --- a/tests/untried/pos/native-warning.flags +++ /dev/null @@ -1 +0,0 @@ --Xfatal-warnings -deprecation
\ No newline at end of file diff --git a/tests/untried/pos/native-warning.scala b/tests/untried/pos/native-warning.scala deleted file mode 100644 index f721a57e8..000000000 --- a/tests/untried/pos/native-warning.scala +++ /dev/null @@ -1,3 +0,0 @@ -class A { - @native def setup(): Unit -} diff --git a/tests/untried/pos/nonlocal-unchecked.flags b/tests/untried/pos/nonlocal-unchecked.flags deleted file mode 100644 index 144ddac9d..000000000 --- a/tests/untried/pos/nonlocal-unchecked.flags +++ /dev/null @@ -1 +0,0 @@ --unchecked -Xfatal-warnings diff --git a/tests/untried/pos/nonlocal-unchecked.scala b/tests/untried/pos/nonlocal-unchecked.scala deleted file mode 100644 index 6bd3dc479..000000000 --- a/tests/untried/pos/nonlocal-unchecked.scala +++ /dev/null @@ -1,6 +0,0 @@ -class A { - def f: Boolean = { - val xs = Nil map (_ => return false) - true - } -} diff --git a/tests/untried/pos/nothing_manifest_disambig-new.scala b/tests/untried/pos/nothing_manifest_disambig-new.scala deleted file mode 100644 index 64afdee60..000000000 --- a/tests/untried/pos/nothing_manifest_disambig-new.scala +++ /dev/null @@ -1,12 +0,0 @@ -import scala.reflect.runtime.universe._ - -object Test { - def mani[T: TypeTag](xs: T) = xs - mani(List()) - - def listElMani[T: TypeTag](xs: List[T]) = xs - listElMani(List()) - - def foo[A, C](m : C)(implicit ev: C <:< Traversable[A], mani: TypeTag[A]): (C, A, TypeTag[A]) = (m, m.head, mani) - foo(List(1,2,3)) -} diff --git a/tests/untried/pos/nothing_manifest_disambig-old.scala b/tests/untried/pos/nothing_manifest_disambig-old.scala deleted file mode 100644 index f282cb914..000000000 --- a/tests/untried/pos/nothing_manifest_disambig-old.scala +++ /dev/null @@ -1,10 +0,0 @@ -object Test { - def mani[T: Manifest](xs: T) = xs - mani(List()) - - def listElMani[T: Manifest](xs: List[T]) = xs - listElMani(List()) - - def foo[A, C](m : C)(implicit ev: C <:< Traversable[A], mani: Manifest[A]): (C, A, Manifest[A]) = (m, m.head, mani) - foo(List(1,2,3)) -} diff --git a/tests/untried/pos/optmatch.scala b/tests/untried/pos/optmatch.scala deleted file mode 100644 index 354be65da..000000000 --- a/tests/untried/pos/optmatch.scala +++ /dev/null @@ -1,33 +0,0 @@ -// final case class NonZeroLong(value: Long) extends AnyVal { -// def get: Long = value -// def isEmpty: Boolean = get == 0l -// } - -class NonZeroLong(val value: Long) extends AnyVal { - def get: Long = value - def isEmpty: Boolean = get == 0l -} -object NonZeroLong { - def unapply(value: Long): NonZeroLong = new NonZeroLong(value) -} - - -object Foo { - def unapply(x: Int): NonZeroLong = new NonZeroLong(1L << x) - // public long unapply(int); - // 0: lconst_1 - // 1: iload_1 - // 2: lshl - // 3: lreturn -} - -object Test { - def f(x: Int): Int = x match { - case Foo(1024l) => 1 - case _ => 2 - } - def main(args: Array[String]): Unit = { - println(f(10)) - println(f(11)) - } -} diff --git a/tests/untried/pos/overloaded-unapply.scala b/tests/untried/pos/overloaded-unapply.scala deleted file mode 100644 index 4105a25f1..000000000 --- a/tests/untried/pos/overloaded-unapply.scala +++ /dev/null @@ -1,8 +0,0 @@ -trait Baz { - type Type >: Null - - case class HoleType(a: String, b: String, c: String) - object HoleType { def unapply(tpe: Type): Option[HoleType] = ??? } - - (null: Type) match { case HoleType(holeTpe) => holeTpe } -} diff --git a/tests/untried/pos/overloaded_extractor_and_regular_def.scala b/tests/untried/pos/overloaded_extractor_and_regular_def.scala deleted file mode 100644 index 72b9f65d8..000000000 --- a/tests/untried/pos/overloaded_extractor_and_regular_def.scala +++ /dev/null @@ -1,32 +0,0 @@ -trait TreesBase { - type Tree - - type Apply <: Tree - - val Apply: ApplyExtractor - - abstract class ApplyExtractor { - def apply(x: Int): Apply - def unapply(apply: Apply): Option[Int] - } -} - -trait TreesApi extends TreesBase { - def Apply(x: String): Unit -} - -class Universe extends TreesApi { - abstract class Tree - case class Apply(x: Int) extends Tree - object Apply extends ApplyExtractor - def Apply(x: String) = Apply(x.toInt) -} - -object Test extends App { - def foo(tapi: TreesApi): Unit = { - import tapi._ - def bar(tree: Tree): Unit = { - val Apply(x) = tree - } - } -} diff --git a/tests/untried/pos/override-object-yes.flags b/tests/untried/pos/override-object-yes.flags deleted file mode 100644 index 22e9a95c4..000000000 --- a/tests/untried/pos/override-object-yes.flags +++ /dev/null @@ -1 +0,0 @@ --Yoverride-objects
\ No newline at end of file diff --git a/tests/untried/pos/override-object-yes.scala b/tests/untried/pos/override-object-yes.scala deleted file mode 100644 index 858f9b21f..000000000 --- a/tests/untried/pos/override-object-yes.scala +++ /dev/null @@ -1,40 +0,0 @@ -package case1 { - class Bippy { - def f = 1 - } - - trait Foo { - object Bar extends Bippy { - override def f = 2 - } - } - - trait Foo2 extends Foo { - override object Bar extends Bippy { - override def f = 3 - } - } - - trait Foo3 { - object Bar { - def g: Traversable[Int] = Nil - } - } - trait Foo4 extends Foo3 { - override object Bar { - def g: List[Int] = Nil - } - } -} - -package case2 { - class Bar[T] - - class Foo[T] { - object A extends Bar[T] - } - - class Baz[S] extends Foo[S] { - override object A extends Bar[S] - } -} diff --git a/tests/untried/pos/package-case.scala b/tests/untried/pos/package-case.scala deleted file mode 100644 index 906f1eb3f..000000000 --- a/tests/untried/pos/package-case.scala +++ /dev/null @@ -1,4 +0,0 @@ -// a.scala -// Sat Jul 16 00:34:36 EDT 2011 - -package object io { case class TextReader() } diff --git a/tests/untried/pos/package-implicit/ActorRef.scala b/tests/untried/pos/package-implicit/ActorRef.scala deleted file mode 100644 index de57e61ce..000000000 --- a/tests/untried/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/untried/pos/package-implicit/DataFlow.scala b/tests/untried/pos/package-implicit/DataFlow.scala deleted file mode 100644 index d948280d0..000000000 --- a/tests/untried/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/untried/pos/package-implicit/package.scala b/tests/untried/pos/package-implicit/package.scala deleted file mode 100644 index d0f28b36b..000000000 --- a/tests/untried/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/untried/pos/package-ob-case/A_1.scala b/tests/untried/pos/package-ob-case/A_1.scala deleted file mode 100644 index 91a1fb7e4..000000000 --- a/tests/untried/pos/package-ob-case/A_1.scala +++ /dev/null @@ -1,5 +0,0 @@ -package foo { - package object foo { - case class X(z: Int) { } - } -} diff --git a/tests/untried/pos/package-ob-case/B_2.scala b/tests/untried/pos/package-ob-case/B_2.scala deleted file mode 100644 index 91a1fb7e4..000000000 --- a/tests/untried/pos/package-ob-case/B_2.scala +++ /dev/null @@ -1,5 +0,0 @@ -package foo { - package object foo { - case class X(z: Int) { } - } -} diff --git a/tests/untried/pos/pat_iuli.scala b/tests/untried/pos/pat_iuli.scala deleted file mode 100644 index 46356ff58..000000000 --- a/tests/untried/pos/pat_iuli.scala +++ /dev/null @@ -1,22 +0,0 @@ -trait Ops { self: MyCodes => - abstract class Instru - object opcodes { - case class SWITCH(i:Int) extends Instru - case object EmptyInstr extends Instru - } -} - -trait Blox { self: MyCodes => - import opcodes._ - class Basick { - var foo: Instru = null - - def bar = foo match { - case SWITCH(i) => i - case EmptyInstr => 0 - } - } -} - -abstract class MyCodes extends AnyRef with Ops with Blox { -} diff --git a/tests/untried/pos/patmat.scala b/tests/untried/pos/patmat.scala deleted file mode 100644 index 53e1c5f1f..000000000 --- a/tests/untried/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/untried/pos/patterns.scala b/tests/untried/pos/patterns.scala deleted file mode 100644 index 547d692d8..000000000 --- a/tests/untried/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/untried/pos/patterns1.scala b/tests/untried/pos/patterns1.scala deleted file mode 100644 index f660ea054..000000000 --- a/tests/untried/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/untried/pos/philippe4.scala b/tests/untried/pos/philippe4.scala deleted file mode 100644 index 9ce3691f5..000000000 --- a/tests/untried/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/untried/pos/pmbug.scala b/tests/untried/pos/pmbug.scala deleted file mode 100644 index 7d94e7a8b..000000000 --- a/tests/untried/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/untried/pos/pos-bug1241.scala b/tests/untried/pos/pos-bug1241.scala deleted file mode 100644 index 1038dc304..000000000 --- a/tests/untried/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/untried/pos/presuperContext.scala b/tests/untried/pos/presuperContext.scala deleted file mode 100644 index ae677c08e..000000000 --- a/tests/untried/pos/presuperContext.scala +++ /dev/null @@ -1,18 +0,0 @@ -class A { - class C extends AnyRef { -// TODO NEEDS MANUAL CHANGE (early initializers) -// BEGIN copied early initializers -val x: A = this -// END copied early initializers -} -} - -class B(x: Int) - -class D { - class C(x: Int) extends B({val test: D = this; x}) { - def this() = { - this({val test: D = this; 1}) - } - } -} diff --git a/tests/untried/pos/private-types-after-typer.scala b/tests/untried/pos/private-types-after-typer.scala deleted file mode 100644 index 5c20cac2a..000000000 --- a/tests/untried/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/untried/pos/proj-rec-test.flags b/tests/untried/pos/proj-rec-test.flags deleted file mode 100644 index ad928f52a..000000000 --- a/tests/untried/pos/proj-rec-test.flags +++ /dev/null @@ -1 +0,0 @@ --Yrecursion 1 diff --git a/tests/untried/pos/proj-rec-test.scala b/tests/untried/pos/proj-rec-test.scala deleted file mode 100644 index b7efcf3e8..000000000 --- a/tests/untried/pos/proj-rec-test.scala +++ /dev/null @@ -1,13 +0,0 @@ -object ProjTest { - trait MInt { type Type } - trait _0 extends MInt { type Type = Boolean } - trait Succ[Pre <: MInt] extends MInt { type Type = Pre#Type } - - type _1 = Succ[_0] - type _2 = Succ[_1] - - type X1 = _0#Type // Ok - type X2 = _1#Type // Ok - type X3 = _2#Type // Compiler error, illegal cyclic reference involving type Type -} - diff --git a/tests/untried/pos/protected-t1010.scala b/tests/untried/pos/protected-t1010.scala deleted file mode 100644 index 8575ddaaf..000000000 --- a/tests/untried/pos/protected-t1010.scala +++ /dev/null @@ -1,27 +0,0 @@ -/** Check protected accessors involving polymorphic methods. */ - -package pkg2 { - -trait PresentationsX extends pkg1.Presentations { - trait ProjectImpl extends super.ProjectImpl { - trait FileImpl extends super.FileImpl { - lockTyper(Console.println) - } - } -} - -} // pkg2 - -package pkg1 { - -trait Presentations { - trait ProjectImpl { - trait FileImpl - protected def lockTyper[T](f : => T) = { - if (this == null) None - else Some(f) - } - } -} - -} // pkg1 diff --git a/tests/untried/pos/rangepos-anonapply.flags b/tests/untried/pos/rangepos-anonapply.flags deleted file mode 100644 index 281f0a10c..000000000 --- a/tests/untried/pos/rangepos-anonapply.flags +++ /dev/null @@ -1 +0,0 @@ --Yrangepos diff --git a/tests/untried/pos/rangepos-anonapply.scala b/tests/untried/pos/rangepos-anonapply.scala deleted file mode 100644 index 0fd04855e..000000000 --- a/tests/untried/pos/rangepos-anonapply.scala +++ /dev/null @@ -1,9 +0,0 @@ -class Test { - trait PropTraverser { - def apply(x: Int): Unit = {} - } - - def gather(x: Int): Unit = { - (new PropTraverser {})(x) - } -} diff --git a/tests/untried/pos/reflection-compat-api-universe.check b/tests/untried/pos/reflection-compat-api-universe.check deleted file mode 100644 index e69de29bb..000000000 --- a/tests/untried/pos/reflection-compat-api-universe.check +++ /dev/null diff --git a/tests/untried/pos/reflection-compat-api-universe.scala b/tests/untried/pos/reflection-compat-api-universe.scala deleted file mode 100644 index 0add9704c..000000000 --- a/tests/untried/pos/reflection-compat-api-universe.scala +++ /dev/null @@ -1,136 +0,0 @@ -object Test extends App { - val u: scala.reflect.api.Universe = ??? - import u._ - import scala.reflect.ClassTag - import compat._ - - val tree: Tree = ??? - val ttree: TypeTree = ??? - val stree: SymTree = ??? - val trees: List[Tree] = ??? - val mods: Modifiers = ??? - val impl: Template = ??? - val vparamss: List[List[ValDef]] = ??? - val rhs: Tree = ??? - val sym: Symbol = ??? - val tsym: TypeSymbol = ??? - val syms: List[Symbol] = ??? - val params: List[Symbol] = ??? - val tparams: List[Symbol] = ??? - val tpe: Type = ??? - val tpes: List[Type] = ??? - val manifest: Manifest[Int] = ??? - val tag: TypeTag[Int] = ??? - val mirror: Mirror = ??? - val decls: Scope = ??? - val pos: Position = ??? - val ann: Annotation = ??? - val anns: List[Annotation] = ??? - val const: Constant = ??? - val name: Name = ??? - val tyname: TypeName = ??? - val tename: TermName = ??? - val flags: FlagSet = ??? - val str: String = ??? - val i: Int = ??? - val b: Boolean = ??? - - // abstract class BuildApi - // abstract class ReferenceToBoxedExtractor - // abstract trait AttachableApi - // abstract trait FreeTermSymbolApi - // abstract trait FreeTypeSymbolApi - // abstract trait IdentContextApi - // abstract trait ReferenceToBoxedApi - // abstract trait SymTreeContextApi - // abstract trait SymbolContextApi - // abstract trait TreeContextApi - // abstract trait TypeTreeContextApi - locally(ClassDef(sym, impl): ClassDef) - locally(DefDef(sym, mods, vparamss, rhs): DefDef) - locally(DefDef(sym, vparamss, rhs): DefDef) - locally(DefDef(sym, mods, rhs): DefDef) - locally(DefDef(sym, rhs): DefDef) - locally(DefDef(sym, (??? : List[List[Symbol]] => Tree)): DefDef) - locally(LabelDef(sym, params, rhs): LabelDef) - locally(ModuleDef(sym, impl): ModuleDef) - locally(TypeDef(sym, rhs): TypeDef) - locally(TypeDef(sym): TypeDef) - locally(ValDef(sym, rhs): ValDef) - locally(ValDef(sym): ValDef) - locally(AnnotatedType(anns, tpe): AnnotatedType) - locally(BoundedWildcardType(??? : TypeBounds): BoundedWildcardType) - locally(TypeBounds(tpe, tpe): TypeBounds) - locally(MethodType(params, tpe): MethodType) - locally(RefinedType(tpes, decls): RefinedType) - locally(RefinedType(tpes, decls, sym): RefinedType) - locally(ClassInfoType(tpes, decls, sym): ClassInfoType) - locally(SingleType(tpe, sym): Type) - locally(TypeRef(tpe, sym, tpes): Type) - locally(ExistentialType(syms, tpe): ExistentialType) - locally(NullaryMethodType(tpe): NullaryMethodType) - locally(ThisType(sym): Type) - locally(SuperType(tpe, tpe): Type) - locally(PolyType(syms, tpe): PolyType) - locally(ConstantType(const): ConstantType) - locally(sym.asFreeTerm: FreeTermSymbol) - locally(sym.asFreeType: FreeTypeSymbol) - locally(existentialAbstraction(tparams, tpe): Type) - locally(tree.freeTerms: List[FreeTermSymbol]) - locally(tree.freeTypes: List[FreeTypeSymbol]) - locally(intersectionType(tpes): Type) - locally(intersectionType(tpes, sym): Type) - locally(sym.isErroneous: Boolean) - locally(sym.isFreeTerm: Boolean) - locally(sym.isFreeType: Boolean) - locally(sym.isLocal: Boolean) - locally(sym.isOverride: Boolean) - locally(tsym.isSkolem: Boolean) - locally(manifestToTypeTag(mirror, manifest): scala.reflect.api.Universe#TypeTag[Int]) - locally(mkImporter(scala.reflect.runtime.universe): Importer{val from: scala.reflect.runtime.universe.type}) - locally(sym.newClassSymbol(tyname, pos, flags): ClassSymbol) - locally(sym.newMethodSymbol(tename, pos, flags): MethodSymbol) - locally(sym.newModuleAndClassSymbol(name, pos, flags): (ModuleSymbol, ClassSymbol)) - locally(newScopeWith(sym, sym, sym): Scope) - locally(sym.newTermSymbol(tename, pos, flags): TermSymbol) - locally(sym.newTypeSymbol(tyname, pos, flags): TypeSymbol) - locally(polyType(tparams, tpe): Type) - locally(sym.pos: Position) - locally(refinedType(tpes, sym): Type) - locally(refinedType(tpes, sym, decls, pos): Type) - locally(singleType(tpe, sym): Type) - locally(tree.substituteSymbols(syms, syms): Tree) - locally(tree.substituteThis(sym, tree): Tree) - locally(tree.substituteTypes(syms, tpes): Tree) - locally(typeRef(tpe, sym, tpes): Type) - locally(typeTagToManifest(mirror, tag): Manifest[Int]) - locally(FreeTermSymbolTag: ClassTag[FreeTermSymbol]) - locally((??? : FreeTermSymbol).origin) - locally((??? : FreeTermSymbol).value) - locally(FreeTypeSymbolTag: ClassTag[FreeTypeSymbol]) - locally((??? : FreeTypeSymbol).origin) - locally(ReferenceToBoxedTag: ClassTag[ReferenceToBoxed]) - locally(build: BuildApi) - locally(ReferenceToBoxed(??? : Ident): ReferenceToBoxed) - locally((??? : ReferenceToBoxed).ident: Tree) - locally(ReferenceToBoxed.unapply(???): Option[Ident]) - locally(build.selectType(sym, str): TypeSymbol) - locally(build.selectTerm(sym, str): TermSymbol) - locally(build.selectOverloadedMethod(sym, str, i): MethodSymbol) - locally(build.newNestedSymbol(sym, name, pos, flags, b): Symbol) - locally(build.newFreeTerm(str, i): FreeTermSymbol) - locally(build.newFreeTerm(str, i, flags, str): FreeTermSymbol) - locally(build.newFreeType(str): FreeTypeSymbol) - locally(build.newFreeType(str, flags, str): FreeTypeSymbol) - locally(build.setTypeSignature(sym, tpe): Symbol) - locally(build.setAnnotations(sym, anns): Symbol) - locally(build.flagsFromBits(??? : Long): FlagSet) - locally(build.emptyValDef: ValDef) - locally(build.This(sym): Tree) - locally(build.Select(tree, sym): Select) - locally(build.Ident(sym): Ident) - locally(build.TypeTree(tpe): TypeTree) - locally(build.thisPrefix(sym): Type) - locally(build.setType(tree, tpe): Tree) - locally(build.setSymbol(tree, sym): Tree) -} diff --git a/tests/untried/pos/reflection-compat-c.check b/tests/untried/pos/reflection-compat-c.check deleted file mode 100644 index e69de29bb..000000000 --- a/tests/untried/pos/reflection-compat-c.check +++ /dev/null diff --git a/tests/untried/pos/reflection-compat-c.scala b/tests/untried/pos/reflection-compat-c.scala deleted file mode 100644 index f5e3b0129..000000000 --- a/tests/untried/pos/reflection-compat-c.scala +++ /dev/null @@ -1,139 +0,0 @@ -import scala.reflect.macros.Context - -object Test extends App { - def impl(c: Context) = { - import c.universe._ - import scala.reflect.ClassTag - import compat._ - - val tree: Tree = ??? - val ttree: TypeTree = ??? - val stree: SymTree = ??? - val trees: List[Tree] = ??? - val mods: Modifiers = ??? - val impl: Template = ??? - val vparamss: List[List[ValDef]] = ??? - val rhs: Tree = ??? - val sym: Symbol = ??? - val tsym: TypeSymbol = ??? - val syms: List[Symbol] = ??? - val params: List[Symbol] = ??? - val tparams: List[Symbol] = ??? - val tpe: Type = ??? - val tpes: List[Type] = ??? - val manifest: Manifest[Int] = ??? - val tag: TypeTag[Int] = ??? - val mirror: Mirror = ??? - val decls: Scope = ??? - val pos: Position = ??? - val ann: Annotation = ??? - val anns: List[Annotation] = ??? - val const: Constant = ??? - val name: Name = ??? - val tyname: TypeName = ??? - val tename: TermName = ??? - val flags: FlagSet = ??? - val str: String = ??? - val i: Int = ??? - val b: Boolean = ??? - - // abstract class BuildApi - // abstract class ReferenceToBoxedExtractor - // abstract trait AttachableApi - // abstract trait FreeTermSymbolApi - // abstract trait FreeTypeSymbolApi - // abstract trait IdentContextApi - // abstract trait ReferenceToBoxedApi - // abstract trait SymTreeContextApi - // abstract trait SymbolContextApi - // abstract trait TreeContextApi - // abstract trait TypeTreeContextApi - locally(ClassDef(sym, impl): ClassDef) - locally(DefDef(sym, mods, vparamss, rhs): DefDef) - locally(DefDef(sym, vparamss, rhs): DefDef) - locally(DefDef(sym, mods, rhs): DefDef) - locally(DefDef(sym, rhs): DefDef) - locally(DefDef(sym, (??? : List[List[Symbol]] => Tree)): DefDef) - locally(LabelDef(sym, params, rhs): LabelDef) - locally(ModuleDef(sym, impl): ModuleDef) - locally(TypeDef(sym, rhs): TypeDef) - locally(TypeDef(sym): TypeDef) - locally(ValDef(sym, rhs): ValDef) - locally(ValDef(sym): ValDef) - locally(AnnotatedType(anns, tpe): AnnotatedType) - locally(BoundedWildcardType(??? : TypeBounds): BoundedWildcardType) - locally(TypeBounds(tpe, tpe): TypeBounds) - locally(MethodType(params, tpe): MethodType) - locally(RefinedType(tpes, decls): RefinedType) - locally(RefinedType(tpes, decls, sym): RefinedType) - locally(ClassInfoType(tpes, decls, sym): ClassInfoType) - locally(SingleType(tpe, sym): Type) - locally(TypeRef(tpe, sym, tpes): Type) - locally(ExistentialType(syms, tpe): ExistentialType) - locally(NullaryMethodType(tpe): NullaryMethodType) - locally(ThisType(sym): Type) - locally(SuperType(tpe, tpe): Type) - locally(PolyType(syms, tpe): PolyType) - locally(ConstantType(const): ConstantType) - locally(sym.asFreeTerm: FreeTermSymbol) - locally(sym.asFreeType: FreeTypeSymbol) - locally(existentialAbstraction(tparams, tpe): Type) - locally(tree.freeTerms: List[FreeTermSymbol]) - locally(tree.freeTypes: List[FreeTypeSymbol]) - locally(intersectionType(tpes): Type) - locally(intersectionType(tpes, sym): Type) - locally(sym.isErroneous: Boolean) - locally(sym.isFreeTerm: Boolean) - locally(sym.isFreeType: Boolean) - locally(sym.isLocal: Boolean) - locally(sym.isOverride: Boolean) - locally(tsym.isSkolem: Boolean) - locally(manifestToTypeTag(mirror, manifest): scala.reflect.api.Universe#TypeTag[Int]) - locally(mkImporter(scala.reflect.runtime.universe): Importer{val from: scala.reflect.runtime.universe.type}) - locally(sym.newClassSymbol(tyname, pos, flags): ClassSymbol) - locally(sym.newMethodSymbol(tename, pos, flags): MethodSymbol) - locally(sym.newModuleAndClassSymbol(name, pos, flags): (ModuleSymbol, ClassSymbol)) - locally(newScopeWith(sym, sym, sym): Scope) - locally(sym.newTermSymbol(tename, pos, flags): TermSymbol) - locally(sym.newTypeSymbol(tyname, pos, flags): TypeSymbol) - locally(polyType(tparams, tpe): Type) - locally(sym.pos: Position) - locally(refinedType(tpes, sym): Type) - locally(refinedType(tpes, sym, decls, pos): Type) - locally(singleType(tpe, sym): Type) - locally(tree.substituteSymbols(syms, syms): Tree) - locally(tree.substituteThis(sym, tree): Tree) - locally(tree.substituteTypes(syms, tpes): Tree) - locally(typeRef(tpe, sym, tpes): Type) - locally(typeTagToManifest(mirror, tag): Manifest[Int]) - locally(FreeTermSymbolTag: ClassTag[FreeTermSymbol]) - locally((??? : FreeTermSymbol).origin) - locally((??? : FreeTermSymbol).value) - locally(FreeTypeSymbolTag: ClassTag[FreeTypeSymbol]) - locally((??? : FreeTypeSymbol).origin) - locally(ReferenceToBoxedTag: ClassTag[ReferenceToBoxed]) - locally(build: BuildApi) - locally(ReferenceToBoxed(??? : Ident): ReferenceToBoxed) - locally((??? : ReferenceToBoxed).ident: Tree) - locally(ReferenceToBoxed.unapply(???): Option[Ident]) - locally(build.selectType(sym, str): TypeSymbol) - locally(build.selectTerm(sym, str): TermSymbol) - locally(build.selectOverloadedMethod(sym, str, i): MethodSymbol) - locally(build.newNestedSymbol(sym, name, pos, flags, b): Symbol) - locally(build.newFreeTerm(str, i): FreeTermSymbol) - locally(build.newFreeTerm(str, i, flags, str): FreeTermSymbol) - locally(build.newFreeType(str): FreeTypeSymbol) - locally(build.newFreeType(str, flags, str): FreeTypeSymbol) - locally(build.setTypeSignature(sym, tpe): Symbol) - locally(build.setAnnotations(sym, anns): Symbol) - locally(build.flagsFromBits(??? : Long): FlagSet) - locally(build.emptyValDef: ValDef) - locally(build.This(sym): Tree) - locally(build.Select(tree, sym): Select) - locally(build.Ident(sym): Ident) - locally(build.TypeTree(tpe): TypeTree) - locally(build.thisPrefix(sym): Type) - locally(build.setType(tree, tpe): Tree) - locally(build.setSymbol(tree, sym): Tree) - } -} diff --git a/tests/untried/pos/reflection-compat-macro-universe.check b/tests/untried/pos/reflection-compat-macro-universe.check deleted file mode 100644 index e69de29bb..000000000 --- a/tests/untried/pos/reflection-compat-macro-universe.check +++ /dev/null diff --git a/tests/untried/pos/reflection-compat-macro-universe.scala b/tests/untried/pos/reflection-compat-macro-universe.scala deleted file mode 100644 index 028d8b129..000000000 --- a/tests/untried/pos/reflection-compat-macro-universe.scala +++ /dev/null @@ -1,177 +0,0 @@ -object Test extends App { - val u: scala.reflect.macros.Universe = ??? - import u._ - import scala.reflect.macros.Attachments - import scala.reflect.ClassTag - import compat._ - - val tree: Tree = ??? - val ttree: TypeTree = ??? - val stree: SymTree = ??? - val trees: List[Tree] = ??? - val mods: Modifiers = ??? - val impl: Template = ??? - val vparamss: List[List[ValDef]] = ??? - val rhs: Tree = ??? - val sym: Symbol = ??? - val tsym: TypeSymbol = ??? - val syms: List[Symbol] = ??? - val params: List[Symbol] = ??? - val tparams: List[Symbol] = ??? - val tpe: Type = ??? - val tpes: List[Type] = ??? - val manifest: Manifest[Int] = ??? - val tag: TypeTag[Int] = ??? - val mirror: Mirror = ??? - val decls: Scope = ??? - val pos: Position = ??? - val ann: Annotation = ??? - val anns: List[Annotation] = ??? - val const: Constant = ??? - val name: Name = ??? - val tyname: TypeName = ??? - val tename: TermName = ??? - val flags: FlagSet = ??? - val str: String = ??? - val i: Int = ??? - val b: Boolean = ??? - - // abstract class BuildApi - // abstract class ReferenceToBoxedExtractor - // abstract trait AttachableApi - // abstract trait FreeTermSymbolApi - // abstract trait FreeTypeSymbolApi - // abstract trait IdentContextApi - // abstract trait ReferenceToBoxedApi - // abstract trait SymTreeContextApi - // abstract trait SymbolContextApi - // abstract trait TreeContextApi - // abstract trait TypeTreeContextApi - locally(ClassDef(sym, impl): ClassDef) - locally(DefDef(sym, mods, vparamss, rhs): DefDef) - locally(DefDef(sym, vparamss, rhs): DefDef) - locally(DefDef(sym, mods, rhs): DefDef) - locally(DefDef(sym, rhs): DefDef) - locally(DefDef(sym, (??? : List[List[Symbol]] => Tree)): DefDef) - locally(LabelDef(sym, params, rhs): LabelDef) - locally(ModuleDef(sym, impl): ModuleDef) - locally(TypeDef(sym, rhs): TypeDef) - locally(TypeDef(sym): TypeDef) - locally(ValDef(sym, rhs): ValDef) - locally(ValDef(sym): ValDef) - locally(AnnotatedType(anns, tpe): AnnotatedType) - locally(BoundedWildcardType(??? : TypeBounds): BoundedWildcardType) - locally(TypeBounds(tpe, tpe): TypeBounds) - locally(MethodType(params, tpe): MethodType) - locally(RefinedType(tpes, decls): RefinedType) - locally(RefinedType(tpes, decls, sym): RefinedType) - locally(ClassInfoType(tpes, decls, sym): ClassInfoType) - locally(SingleType(tpe, sym): Type) - locally(TypeRef(tpe, sym, tpes): Type) - locally(ExistentialType(syms, tpe): ExistentialType) - locally(NullaryMethodType(tpe): NullaryMethodType) - locally(ThisType(sym): Type) - locally(SuperType(tpe, tpe): Type) - locally(PolyType(syms, tpe): PolyType) - locally(ConstantType(const): ConstantType) - locally(sym.asFreeTerm: FreeTermSymbol) - locally(sym.asFreeType: FreeTypeSymbol) - locally(sym.attachments: Attachments { type Pos = Position }) - locally(tree.attachments: Attachments { type Pos = Position }) - locally(captureVariable(sym): Unit) - locally(capturedVariableType(sym): Type) - locally(sym.deSkolemize: Symbol) - locally(tree.defineType(tpe): Tree) - locally(existentialAbstraction(tparams, tpe): Type) - locally(tree.freeTerms: List[FreeTermSymbol]) - locally(tree.freeTypes: List[FreeTypeSymbol]) - locally(intersectionType(tpes): Type) - locally(intersectionType(tpes, sym): Type) - locally(sym.isErroneous: Boolean) - locally(sym.isFreeTerm: Boolean) - locally(sym.isFreeType: Boolean) - locally(sym.isLocal: Boolean) - locally(sym.isOverride: Boolean) - locally(tsym.isSkolem: Boolean) - locally(manifestToTypeTag(mirror, manifest): scala.reflect.api.Universe#TypeTag[Int]) - locally(treeBuild.mkAttributedIdent(sym): RefTree) - locally(treeBuild.mkAttributedQualifier(tpe): Tree) - locally(treeBuild.mkAttributedQualifier(tpe, sym): Tree) - locally(treeBuild.mkAttributedRef(tpe, sym): RefTree) - locally(treeBuild.mkAttributedRef(sym): RefTree) - locally(treeBuild.mkAttributedSelect(tree, sym): RefTree) - locally(treeBuild.mkAttributedThis(sym): This) - locally(mkImporter(scala.reflect.runtime.universe): Importer{val from: scala.reflect.runtime.universe.type}) - locally(treeBuild.mkMethodCall(sym, trees): Tree) - locally(treeBuild.mkMethodCall(sym, tpes, trees): Tree) - locally(treeBuild.mkMethodCall(sym, name, trees): Tree) - locally(treeBuild.mkMethodCall(sym, name, tpes, trees): Tree) - locally(treeBuild.mkMethodCall(tree, sym, tpes, trees): Tree) - locally(treeBuild.mkMethodCall(tree, trees): Tree) - locally(treeBuild.mkMethodCall(tree, tpes, trees): Tree) - locally(treeBuild.mkNullaryCall(sym, tpes): Tree) - locally(treeBuild.mkRuntimeUniverseRef: Tree) - locally(treeBuild.mkUnattributedRef(name): RefTree) - locally(treeBuild.mkUnattributedRef(sym): RefTree) - locally(sym.newClassSymbol(tyname, pos, flags): ClassSymbol) - locally(sym.newMethodSymbol(tename, pos, flags): MethodSymbol) - locally(sym.newModuleAndClassSymbol(name, pos, flags): (ModuleSymbol, ClassSymbol)) - locally(newScopeWith(sym, sym, sym): Scope) - locally(sym.newTermSymbol(tename, pos, flags): TermSymbol) - locally(sym.newTypeSymbol(tyname, pos, flags): TypeSymbol) - locally(polyType(tparams, tpe): Type) - locally(sym.pos: Position) - locally((tree.pos = pos): Unit) - locally(referenceCapturedVariable(sym): Tree) - locally(refinedType(tpes, sym): Type) - locally(refinedType(tpes, sym, decls, pos): Type) - locally(sym.removeAttachment[Int]: Symbol) - locally(tree.removeAttachment[Int]: Tree) - locally(sym.setAnnotations(ann, ann, ann): Symbol) - locally(sym.setName(name): Symbol) - locally(ttree.setOriginal(tree): TypeTree) - locally(tree.setPos(pos): Tree) - locally(sym.setPrivateWithin(sym): Symbol) - locally(tree.setSymbol(sym): Tree) - locally(tree.setType(tpe): Tree) - locally(sym.setTypeSignature(tpe): Symbol) - locally(singleType(tpe, sym): Type) - locally(tree.substituteSymbols(syms, syms): Tree) - locally(tree.substituteThis(sym, tree): Tree) - locally(tree.substituteTypes(syms, tpes): Tree) - locally((tree.symbol = sym): Unit) - locally((tree.tpe = tpe): Unit) - locally(typeRef(tpe, sym, tpes): Type) - locally(typeTagToManifest(mirror, tag): Manifest[Int]) - locally(sym.updateAttachment(42): Symbol) - locally(tree.updateAttachment(42): Tree) - locally(FreeTermSymbolTag: ClassTag[FreeTermSymbol]) - locally((??? : FreeTermSymbol).origin) - locally((??? : FreeTermSymbol).value) - locally(FreeTypeSymbolTag: ClassTag[FreeTypeSymbol]) - locally((??? : FreeTypeSymbol).origin) - locally(ReferenceToBoxedTag: ClassTag[ReferenceToBoxed]) - locally(build: BuildApi) - locally(ReferenceToBoxed(??? : Ident): ReferenceToBoxed) - locally((??? : ReferenceToBoxed).ident: Tree) - locally(ReferenceToBoxed.unapply(???): Option[Ident]) - locally(build.selectType(sym, str): TypeSymbol) - locally(build.selectTerm(sym, str): TermSymbol) - locally(build.selectOverloadedMethod(sym, str, i): MethodSymbol) - locally(build.newNestedSymbol(sym, name, pos, flags, b): Symbol) - locally(build.newFreeTerm(str, i): FreeTermSymbol) - locally(build.newFreeTerm(str, i, flags, str): FreeTermSymbol) - locally(build.newFreeType(str): FreeTypeSymbol) - locally(build.newFreeType(str, flags, str): FreeTypeSymbol) - locally(build.setTypeSignature(sym, tpe): Symbol) - locally(build.setAnnotations(sym, anns): Symbol) - locally(build.flagsFromBits(??? : Long): FlagSet) - locally(build.emptyValDef: ValDef) - locally(build.This(sym): Tree) - locally(build.Select(tree, sym): Select) - locally(build.Ident(sym): Ident) - locally(build.TypeTree(tpe): TypeTree) - locally(build.thisPrefix(sym): Type) - locally(build.setType(tree, tpe): Tree) - locally(build.setSymbol(tree, sym): Tree) -} diff --git a/tests/untried/pos/reflection-compat-ru.check b/tests/untried/pos/reflection-compat-ru.check deleted file mode 100644 index e69de29bb..000000000 --- a/tests/untried/pos/reflection-compat-ru.check +++ /dev/null diff --git a/tests/untried/pos/reflection-compat-ru.scala b/tests/untried/pos/reflection-compat-ru.scala deleted file mode 100644 index f3f493fba..000000000 --- a/tests/untried/pos/reflection-compat-ru.scala +++ /dev/null @@ -1,135 +0,0 @@ -object Test extends App { - import scala.reflect.runtime.universe._ - import scala.reflect.ClassTag - import compat._ - - val tree: Tree = ??? - val ttree: TypeTree = ??? - val stree: SymTree = ??? - val trees: List[Tree] = ??? - val mods: Modifiers = ??? - val impl: Template = ??? - val vparamss: List[List[ValDef]] = ??? - val rhs: Tree = ??? - val sym: Symbol = ??? - val tsym: TypeSymbol = ??? - val syms: List[Symbol] = ??? - val params: List[Symbol] = ??? - val tparams: List[Symbol] = ??? - val tpe: Type = ??? - val tpes: List[Type] = ??? - val manifest: Manifest[Int] = ??? - val tag: TypeTag[Int] = ??? - val mirror: Mirror = ??? - val decls: Scope = ??? - val pos: Position = ??? - val ann: Annotation = ??? - val anns: List[Annotation] = ??? - val const: Constant = ??? - val name: Name = ??? - val tyname: TypeName = ??? - val tename: TermName = ??? - val flags: FlagSet = ??? - val str: String = ??? - val i: Int = ??? - val b: Boolean = ??? - - // abstract class BuildApi - // abstract class ReferenceToBoxedExtractor - // abstract trait AttachableApi - // abstract trait FreeTermSymbolApi - // abstract trait FreeTypeSymbolApi - // abstract trait IdentContextApi - // abstract trait ReferenceToBoxedApi - // abstract trait SymTreeContextApi - // abstract trait SymbolContextApi - // abstract trait TreeContextApi - // abstract trait TypeTreeContextApi - locally(ClassDef(sym, impl): ClassDef) - locally(DefDef(sym, mods, vparamss, rhs): DefDef) - locally(DefDef(sym, vparamss, rhs): DefDef) - locally(DefDef(sym, mods, rhs): DefDef) - locally(DefDef(sym, rhs): DefDef) - locally(DefDef(sym, (??? : List[List[Symbol]] => Tree)): DefDef) - locally(LabelDef(sym, params, rhs): LabelDef) - locally(ModuleDef(sym, impl): ModuleDef) - locally(TypeDef(sym, rhs): TypeDef) - locally(TypeDef(sym): TypeDef) - locally(ValDef(sym, rhs): ValDef) - locally(ValDef(sym): ValDef) - locally(AnnotatedType(anns, tpe): AnnotatedType) - locally(BoundedWildcardType(??? : TypeBounds): BoundedWildcardType) - locally(TypeBounds(tpe, tpe): TypeBounds) - locally(MethodType(params, tpe): MethodType) - locally(RefinedType(tpes, decls): RefinedType) - locally(RefinedType(tpes, decls, sym): RefinedType) - locally(ClassInfoType(tpes, decls, sym): ClassInfoType) - locally(SingleType(tpe, sym): Type) - locally(TypeRef(tpe, sym, tpes): Type) - locally(ExistentialType(syms, tpe): ExistentialType) - locally(NullaryMethodType(tpe): NullaryMethodType) - locally(ThisType(sym): Type) - locally(SuperType(tpe, tpe): Type) - locally(PolyType(syms, tpe): PolyType) - locally(ConstantType(const): ConstantType) - locally(sym.asFreeTerm: FreeTermSymbol) - locally(sym.asFreeType: FreeTypeSymbol) - locally(existentialAbstraction(tparams, tpe): Type) - locally(tree.freeTerms: List[FreeTermSymbol]) - locally(tree.freeTypes: List[FreeTypeSymbol]) - locally(intersectionType(tpes): Type) - locally(intersectionType(tpes, sym): Type) - locally(sym.isErroneous: Boolean) - locally(sym.isFreeTerm: Boolean) - locally(sym.isFreeType: Boolean) - locally(sym.isLocal: Boolean) - locally(sym.isOverride: Boolean) - locally(tsym.isSkolem: Boolean) - locally(manifestToTypeTag(mirror, manifest): scala.reflect.api.Universe#TypeTag[Int]) - locally(mkImporter(scala.reflect.runtime.universe): Importer{val from: scala.reflect.runtime.universe.type}) - locally(sym.newClassSymbol(tyname, pos, flags): ClassSymbol) - locally(sym.newMethodSymbol(tename, pos, flags): MethodSymbol) - locally(sym.newModuleAndClassSymbol(name, pos, flags): (ModuleSymbol, ClassSymbol)) - locally(newScopeWith(sym, sym, sym): Scope) - locally(sym.newTermSymbol(tename, pos, flags): TermSymbol) - locally(sym.newTypeSymbol(tyname, pos, flags): TypeSymbol) - locally(polyType(tparams, tpe): Type) - locally(sym.pos: Position) - locally(refinedType(tpes, sym): Type) - locally(refinedType(tpes, sym, decls, pos): Type) - locally(singleType(tpe, sym): Type) - locally(tree.substituteSymbols(syms, syms): Tree) - locally(tree.substituteThis(sym, tree): Tree) - locally(tree.substituteTypes(syms, tpes): Tree) - locally(typeRef(tpe, sym, tpes): Type) - locally(typeTagToManifest(mirror, tag): Manifest[Int]) - locally(FreeTermSymbolTag: ClassTag[FreeTermSymbol]) - locally((??? : FreeTermSymbol).origin) - locally((??? : FreeTermSymbol).value) - locally(FreeTypeSymbolTag: ClassTag[FreeTypeSymbol]) - locally((??? : FreeTypeSymbol).origin) - locally(ReferenceToBoxedTag: ClassTag[ReferenceToBoxed]) - locally(build: BuildApi) - locally(ReferenceToBoxed(??? : Ident): ReferenceToBoxed) - locally((??? : ReferenceToBoxed).ident: Tree) - locally(ReferenceToBoxed.unapply(???): Option[Ident]) - locally(build.selectType(sym, str): TypeSymbol) - locally(build.selectTerm(sym, str): TermSymbol) - locally(build.selectOverloadedMethod(sym, str, i): MethodSymbol) - locally(build.newNestedSymbol(sym, name, pos, flags, b): Symbol) - locally(build.newFreeTerm(str, i): FreeTermSymbol) - locally(build.newFreeTerm(str, i, flags, str): FreeTermSymbol) - locally(build.newFreeType(str): FreeTypeSymbol) - locally(build.newFreeType(str, flags, str): FreeTypeSymbol) - locally(build.setTypeSignature(sym, tpe): Symbol) - locally(build.setAnnotations(sym, anns): Symbol) - locally(build.flagsFromBits(??? : Long): FlagSet) - locally(build.emptyValDef: ValDef) - locally(build.This(sym): Tree) - locally(build.Select(tree, sym): Select) - locally(build.Ident(sym): Ident) - locally(build.TypeTree(tpe): TypeTree) - locally(build.thisPrefix(sym): Type) - locally(build.setType(tree, tpe): Tree) - locally(build.setSymbol(tree, sym): Tree) -} diff --git a/tests/untried/pos/return_thistype.scala b/tests/untried/pos/return_thistype.scala deleted file mode 100644 index c0736c0ad..000000000 --- a/tests/untried/pos/return_thistype.scala +++ /dev/null @@ -1,8 +0,0 @@ -// tests transformation of return type in typedTypeApply (see also tcpoly_gm.scala) -class As { - class A { - def foo: A.this.type = bar.asInstanceOf[A.this.type] - def foo2: this.type = bar.asInstanceOf[this.type] - def bar: A = null - } -} diff --git a/tests/untried/pos/sammy_poly.flags b/tests/untried/pos/sammy_poly.flags deleted file mode 100644 index 48fd86716..000000000 --- a/tests/untried/pos/sammy_poly.flags +++ /dev/null @@ -1 +0,0 @@ --Xexperimental diff --git a/tests/untried/pos/sammy_poly.scala b/tests/untried/pos/sammy_poly.scala deleted file mode 100644 index f43fa292c..000000000 --- a/tests/untried/pos/sammy_poly.scala +++ /dev/null @@ -1,7 +0,0 @@ -// test synthesizeSAMFunction where the sam type is not fully defined -class T { - trait F[T, U] { def apply(x: T): U } - // NOTE: the f(x) desugaring for now assumes the single abstract method is called 'apply' - def app[T, U](x: T)(f: F[T, U]): U = f(x) - app(1)(x => List(x)) -} diff --git a/tests/untried/pos/scoping1.scala b/tests/untried/pos/scoping1.scala deleted file mode 100644 index 9fe1b5f3e..000000000 --- a/tests/untried/pos/scoping1.scala +++ /dev/null @@ -1,12 +0,0 @@ -object This extends App { - trait A { - def foo(): Unit - } - class C { self: A => - def bar() = this.foo() - } - class D extends C with A { - def foo() = () - } - val c: C = new D -} diff --git a/tests/untried/pos/sealed-final.flags b/tests/untried/pos/sealed-final.flags deleted file mode 100644 index cfabf7a5b..000000000 --- a/tests/untried/pos/sealed-final.flags +++ /dev/null @@ -1 +0,0 @@ --Xfatal-warnings -Yinline-warnings -optimise
\ No newline at end of file diff --git a/tests/untried/pos/sealed-final.scala b/tests/untried/pos/sealed-final.scala deleted file mode 100644 index bdedb5c1f..000000000 --- a/tests/untried/pos/sealed-final.scala +++ /dev/null @@ -1,14 +0,0 @@ -sealed abstract class Foo { - @inline def bar(x: Int) = x + 1 -} -object Foo { - def mkFoo(): Foo = new Baz2 -} - -object Baz1 extends Foo -final class Baz2 extends Foo - -object Test { - // bar should be inlined now - def f = Foo.mkFoo() bar 10 -} diff --git a/tests/untried/pos/self-type-override.scala b/tests/untried/pos/self-type-override.scala deleted file mode 100644 index 7c40ef37e..000000000 --- a/tests/untried/pos/self-type-override.scala +++ /dev/null @@ -1,13 +0,0 @@ -trait TCommon { - def f: String -} - -class C1 extends TCommon { - def f = "in C1" -} - -trait TOverrider { this: TCommon => - override def f = "in TOverrider" // The overridden self-type member... -} - -class C2 extends C1 with TOverrider // ... fails to override, here. diff --git a/tests/untried/pos/selftails.scala b/tests/untried/pos/selftails.scala deleted file mode 100644 index a4253b80c..000000000 --- a/tests/untried/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/untried/pos/seq-ordering.scala b/tests/untried/pos/seq-ordering.scala deleted file mode 100644 index 517d8ae8a..000000000 --- a/tests/untried/pos/seq-ordering.scala +++ /dev/null @@ -1,9 +0,0 @@ -import Ordering.Implicits._ - -class A { - import Predef.{ implicitly => ? } - - ?[Ordering[List[Int]]] - ?[Ordering[IndexedSeq[(Int, String)]]] - ?[Ordering[Seq[Seq[Int]]]] -} diff --git a/tests/untried/pos/seqtest2.scala b/tests/untried/pos/seqtest2.scala deleted file mode 100644 index 239b1b581..000000000 --- a/tests/untried/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/untried/pos/setter-not-implicit.flags b/tests/untried/pos/setter-not-implicit.flags deleted file mode 100644 index 792c40565..000000000 --- a/tests/untried/pos/setter-not-implicit.flags +++ /dev/null @@ -1 +0,0 @@ --feature -Xfatal-warnings
\ No newline at end of file diff --git a/tests/untried/pos/setter-not-implicit.scala b/tests/untried/pos/setter-not-implicit.scala deleted file mode 100644 index 9bfffc2ce..000000000 --- a/tests/untried/pos/setter-not-implicit.scala +++ /dev/null @@ -1,3 +0,0 @@ -object O { - implicit var x: Int = 0 -} diff --git a/tests/untried/pos/spec-annotations.scala b/tests/untried/pos/spec-annotations.scala deleted file mode 100644 index b23abf48e..000000000 --- a/tests/untried/pos/spec-annotations.scala +++ /dev/null @@ -1,35 +0,0 @@ -class ann(i: Int) extends scala.annotation.Annotation - -// annotations on abstract types -abstract class C1[@annotation.elidable(0) +T, U, V[_]] -abstract class C2[@deprecated - @ann(1) T <: Number, - V] -abstract class C3 { - @ann(2) type X <: Number -} - -object Test { - - // bug #1028 - val x = 1 - @ann(x) val a = () - @ann({val y = 2; y}) val b = () - - def c: Int @ann(x) = 1 - def d: String @ann({val z = 0; z - 1}) = "2" - def e[@deprecated T, U](x: T) = x - - //bug #1214 - val y = new (Integer @ann(0))(2) - - import scala.beans.BeanProperty - - // bug #637 - trait S { def getField(): Int } - class O extends S { @BeanProperty val field = 0 } - - // bug #1070 - trait T { @BeanProperty var field = 1 } -} - diff --git a/tests/untried/pos/spec-asseenfrom.scala b/tests/untried/pos/spec-asseenfrom.scala deleted file mode 100644 index ede579170..000000000 --- a/tests/untried/pos/spec-asseenfrom.scala +++ /dev/null @@ -1,29 +0,0 @@ -class Automaton[@specialized(Double) W,State] { - - def finalWeight(s: State): W = sys.error("todo"); - - def allStates: Set[State] = sys.error("toodo"); - - /** - * Returns a map from states to its final weight. may expand all nodes. - */ - def finalStateWeights = Map.empty ++ allStates.map { s => (s,finalWeight(s)) } - - // This works fine: - /* - def finalStateWeights() = { - val it = allStates.iterator; - while(it.hasNext) { - finalWeight(it.next); - } - } - */ - -} - -abstract class Automaton2[@specialized T1, T2] { - def finalWeight(s: T2): T1 - def allStates: Set[T2] - - def f = allStates map finalWeight -} diff --git a/tests/untried/pos/spec-constr-new.scala b/tests/untried/pos/spec-constr-new.scala deleted file mode 100644 index c6acc862a..000000000 --- a/tests/untried/pos/spec-constr-new.scala +++ /dev/null @@ -1,9 +0,0 @@ -import scala.reflect.{ClassTag, classTag} - -class SparseArray2[@specialized(Int) T:ClassTag](val maxSize: Int, initialLength:Int = 3) { - private var data = new Array[T](initialLength); - private var index = new Array[Int](initialLength); - - // comment out to compile correctly - data.length + 3; -} diff --git a/tests/untried/pos/spec-doubledef-new.scala b/tests/untried/pos/spec-doubledef-new.scala deleted file mode 100644 index de438d6e9..000000000 --- a/tests/untried/pos/spec-doubledef-new.scala +++ /dev/null @@ -1,30 +0,0 @@ -import scala.reflect.runtime.universe._ - -object Test { - def fn[@specialized T, @specialized U](t : T => Int, u : U => Int) : T = - null.asInstanceOf[T] -} - -trait A[@specialized(Int) T] { - var value: T - def getWith[@specialized(Int) Z](f: T => Z) = f(value) -} - -class C extends A[Int] { - var value = 10 - override def getWith[@specialized(Int) Z](f: Int => Z) = f(value) -} - -abstract class B[T, @specialized(scala.Int) U : TypeTag, @specialized(scala.Int) V <% Ordered[V]] { - val u: U - val v: V - - def f(t: T, v2: V): Tuple2[U, V] = { - val m: Array[U] = null - if (m.isEmpty) { - (u, v) - } else { - (u, v2) - } - } -} diff --git a/tests/untried/pos/spec-doubledef-old.scala b/tests/untried/pos/spec-doubledef-old.scala deleted file mode 100644 index bde259e4f..000000000 --- a/tests/untried/pos/spec-doubledef-old.scala +++ /dev/null @@ -1,28 +0,0 @@ -object Test { - def fn[@specialized T, @specialized U](t : T => Int, u : U => Int) : T = - null.asInstanceOf[T] -} - -trait A[@specialized(Int) T] { - var value: T - def getWith[@specialized(Int) Z](f: T => Z) = f(value) -} - -class C extends A[Int] { - var value = 10 - override def getWith[@specialized(Int) Z](f: Int => Z) = f(value) -} - -abstract class B[T, @specialized(scala.Int) U : Manifest, @specialized(scala.Int) V <% Ordered[V]] { - val u: U - val v: V - - def f(t: T, v2: V): Tuple2[U, V] = { - val m: Array[U] = null - if (m.isEmpty) { - (u, v) - } else { - (u, v2) - } - } -} diff --git a/tests/untried/pos/spec-foo.scala b/tests/untried/pos/spec-foo.scala deleted file mode 100644 index aabe0d51e..000000000 --- a/tests/untried/pos/spec-foo.scala +++ /dev/null @@ -1,4 +0,0 @@ -class Foo { - val xs = List(1, 2) - 1 :: xs -} diff --git a/tests/untried/pos/spec-groups.scala b/tests/untried/pos/spec-groups.scala deleted file mode 100644 index 9b6359a98..000000000 --- a/tests/untried/pos/spec-groups.scala +++ /dev/null @@ -1,65 +0,0 @@ -import Specializable._ - -class A[@specialized(Primitives) T](x: T) { - def f1[@specialized(Primitives) U](x: T, y: U) = ((x, y)) - def f2[@specialized(Everything) U](x: T, y: U) = ((x, y)) - def f3[@specialized(Bits32AndUp) U](x: T, y: U) = ((x, y)) - def f4[@specialized(Integral) U](x: T, y: U) = ((x, y)) - def f5[@specialized(AllNumeric) U](x: T, y: U) = ((x, y)) - def f6[@specialized(BestOfBreed) U](x: T, y: U) = ((x, y)) - def f7[@specialized(Byte, Double, AnyRef) U](x: T, y: U) = ((x, y)) -} -class B[@specialized(Everything) T] { - def f1[@specialized(Primitives) U](x: T, y: U) = ((x, y)) - def f2[@specialized(Everything) U](x: T, y: U) = ((x, y)) - def f3[@specialized(Bits32AndUp) U](x: T, y: U) = ((x, y)) - def f4[@specialized(Integral) U](x: T, y: U) = ((x, y)) - def f5[@specialized(AllNumeric) U](x: T, y: U) = ((x, y)) - def f6[@specialized(BestOfBreed) U](x: T, y: U) = ((x, y)) - def f7[@specialized(Byte, Double, AnyRef) U](x: T, y: U) = ((x, y)) -} -class C[@specialized(Bits32AndUp) T] { - def f1[@specialized(Primitives) U](x: T, y: U) = ((x, y)) - def f2[@specialized(Everything) U](x: T, y: U) = ((x, y)) - def f3[@specialized(Bits32AndUp) U](x: T, y: U) = ((x, y)) - def f4[@specialized(Integral) U](x: T, y: U) = ((x, y)) - def f5[@specialized(AllNumeric) U](x: T, y: U) = ((x, y)) - def f6[@specialized(BestOfBreed) U](x: T, y: U) = ((x, y)) - def f7[@specialized(Byte, Double, AnyRef) U](x: T, y: U) = ((x, y)) -} -class D[@specialized(Integral) T] { - def f1[@specialized(Primitives) U](x: T, y: U) = ((x, y)) - def f2[@specialized(Everything) U](x: T, y: U) = ((x, y)) - def f3[@specialized(Bits32AndUp) U](x: T, y: U) = ((x, y)) - def f4[@specialized(Integral) U](x: T, y: U) = ((x, y)) - def f5[@specialized(AllNumeric) U](x: T, y: U) = ((x, y)) - def f6[@specialized(BestOfBreed) U](x: T, y: U) = ((x, y)) - def f7[@specialized(Byte, Double, AnyRef) U](x: T, y: U) = ((x, y)) -} -class E[@specialized(AllNumeric) T] { - def f1[@specialized(Primitives) U](x: T, y: U) = ((x, y)) - def f2[@specialized(Everything) U](x: T, y: U) = ((x, y)) - def f3[@specialized(Bits32AndUp) U](x: T, y: U) = ((x, y)) - def f4[@specialized(Integral) U](x: T, y: U) = ((x, y)) - def f5[@specialized(AllNumeric) U](x: T, y: U) = ((x, y)) - def f6[@specialized(BestOfBreed) U](x: T, y: U) = ((x, y)) - def f7[@specialized(Byte, Double, AnyRef) U](x: T, y: U) = ((x, y)) -} -class F[@specialized(BestOfBreed) T] { - def f1[@specialized(Primitives) U](x: T, y: U) = ((x, y)) - def f2[@specialized(Everything) U](x: T, y: U) = ((x, y)) - def f3[@specialized(Bits32AndUp) U](x: T, y: U) = ((x, y)) - def f4[@specialized(Integral) U](x: T, y: U) = ((x, y)) - def f5[@specialized(AllNumeric) U](x: T, y: U) = ((x, y)) - def f6[@specialized(BestOfBreed) U](x: T, y: U) = ((x, y)) - def f7[@specialized(Byte, Double, AnyRef) U](x: T, y: U) = ((x, y)) -} -class G[@specialized(Byte, Double, AnyRef) T] { - def f1[@specialized(Primitives) U](x: T, y: U) = ((x, y)) - def f2[@specialized(Everything) U](x: T, y: U) = ((x, y)) - def f3[@specialized(Bits32AndUp) U](x: T, y: U) = ((x, y)) - def f4[@specialized(Integral) U](x: T, y: U) = ((x, y)) - def f5[@specialized(AllNumeric) U](x: T, y: U) = ((x, y)) - def f6[@specialized(BestOfBreed) U](x: T, y: U) = ((x, y)) - def f7[@specialized(Byte, Double, AnyRef) U](x: T, y: U) = ((x, y)) -} diff --git a/tests/untried/pos/spec-partialmap.scala b/tests/untried/pos/spec-partialmap.scala deleted file mode 100644 index 09684e024..000000000 --- a/tests/untried/pos/spec-partialmap.scala +++ /dev/null @@ -1,17 +0,0 @@ - -// ticket #3378, overloaded specialized variants -import scala.collection.{Traversable,TraversableLike}; -import scala.collection.generic.CanBuildFrom; - -trait PartialMap[@specialized A,@specialized B] -extends PartialFunction[A,B] with Iterable[(A,B)] { - - // commenting out this declaration gives a different exception. - /** Getter for all values for which the given key function returns true. */ - def apply(f : (A => Boolean)) : Iterator[B] = - for ((k,v) <- iterator; if f(k)) yield v; - - // if this is commented, it compiles fine: - def apply[This <: Traversable[A], That](keys : TraversableLike[A,This]) - (implicit bf: CanBuildFrom[This, B, That]) : That = keys.map(apply); -} diff --git a/tests/untried/pos/spec-sealed.scala b/tests/untried/pos/spec-sealed.scala deleted file mode 100644 index d7ecfaaab..000000000 --- a/tests/untried/pos/spec-sealed.scala +++ /dev/null @@ -1,32 +0,0 @@ -sealed abstract class MyList[@specialized +A] { - def head: A - def tail: MyList[A] - - def ::[@specialized B >: A](x: B): MyList[B] = - new Cons[B](x, this) -} - -case object MyNil extends MyList[Nothing] { - def head = sys.error("nil") - def tail = sys.error("nil") -} - -case class Cons[@specialized a](private val hd: a, tl: MyList[a]) extends MyList[a] { - def head = hd - def tail = tl -} - -abstract class IntList extends MyList[Int] - -object Main extends App { - val xs = 1 :: 2 :: 3 :: MyNil - println(xs) -} - -/* -final class ConsI(hd1: Int, tl1: MyList[Int]) extends Cons[Int](hd1, tl1) { - override val hd = hd1 - override val tl = tl1 -} -*/ -//class IntCons(_hd: Int, _tl: MyList[Int]) extends Cons[Int](_hd, _tl) diff --git a/tests/untried/pos/spec-traits.scala b/tests/untried/pos/spec-traits.scala deleted file mode 100644 index c8c8000d8..000000000 --- a/tests/untried/pos/spec-traits.scala +++ /dev/null @@ -1,64 +0,0 @@ -trait A[@specialized(Int) T] { def foo: T } -class B extends A[Int] { val foo = 10 } -class C extends B - -// issue 3309 -class Lazy { - def test[U](block: => U): Unit = { block } - - test { lazy val x = 1 } -} - -// issue 3307 -class Bug3307 { - def f[Z](block: String => Z): Unit = { - block("abc") - } - - ({ () => - f { implicit x => println(x) } })() -} - -// issue 3301 - trait T[X] - -class Bug3301 { - def t[A]: T[A] = sys.error("stub") - - () => { - type X = Int - - def foo[X] = t[X] - () - } -} -// issue 3299 -object Failure { - def thunk(): Unit = { - for (i <- 1 to 2) { - val Array(a, b) = Array(1,2) - () - } - } -} - -// issue 3296 - -object AA -{ - def f(block: => Unit): Unit = {} - - object BB - { - f { - object CC - - () - } - } - - def foo[T](x: T) = { object A; false } -} - -// issue 3325 -object O { def f[@specialized T]: Unit = { for(k <- Nil: List[T]) { } } } diff --git a/tests/untried/pos/specializes-sym-crash.scala b/tests/untried/pos/specializes-sym-crash.scala deleted file mode 100644 index 7778ba277..000000000 --- a/tests/untried/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/untried/pos/stable.scala b/tests/untried/pos/stable.scala deleted file mode 100644 index 267a36fe5..000000000 --- a/tests/untried/pos/stable.scala +++ /dev/null @@ -1,11 +0,0 @@ -trait Base { - val x: Int; - val y: Int; - var z: Int; -} - -class Sub() extends Base { - val x: Int = 1; - val y: Int = 2; - var z: Int = 3; -} diff --git a/tests/untried/pos/strip-tvars-for-lubbasetypes.scala b/tests/untried/pos/strip-tvars-for-lubbasetypes.scala deleted file mode 100644 index 2be8625ba..000000000 --- a/tests/untried/pos/strip-tvars-for-lubbasetypes.scala +++ /dev/null @@ -1,25 +0,0 @@ -object Test { - - implicit final class EqualOps[T](val x: T) extends AnyVal { - def ===[T1, Ph >: T <: T1, Ph2 >: Ph <: T1](other: T1): Boolean = x == other - def !!![T1, Ph2 >: Ph <: T1, Ph >: T <: T1](other: T1): Boolean = x == other - } - - class A - class B extends A - class C extends A - - val a = new A - val b = new B - val c = new C - - val x1 = a === b - val x2 = b === a - val x3 = b === c // error, infers Object{} for T1 - val x4 = b.===[A, B, B](c) - - val x5 = b !!! c // always compiled due to the order of Ph2 and Ph - - - -} diff --git a/tests/untried/pos/super/Super_1.java b/tests/untried/pos/super/Super_1.java deleted file mode 100644 index 9acbba0ec..000000000 --- a/tests/untried/pos/super/Super_1.java +++ /dev/null @@ -1,6 +0,0 @@ -// A.java -interface Inter<T> { } - -class Super implements Inter<Super.Inner> { - public class Inner { }; -} diff --git a/tests/untried/pos/super/Super_2.scala b/tests/untried/pos/super/Super_2.scala deleted file mode 100644 index 486d6b700..000000000 --- a/tests/untried/pos/super/Super_2.scala +++ /dev/null @@ -1,6 +0,0 @@ -object Test { - val x: Super = null - - def main(args: Array[String]): Unit = { - } -} diff --git a/tests/untried/pos/t2613.scala b/tests/untried/pos/t2613.scala deleted file mode 100644 index 3a64dbc28..000000000 --- a/tests/untried/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/untried/pos/t2624.scala b/tests/untried/pos/t2624.scala deleted file mode 100644 index 76f0e3036..000000000 --- a/tests/untried/pos/t2624.scala +++ /dev/null @@ -1,4 +0,0 @@ -object Test { - List(1).map(identity(_)) - List(1).map(identity) // this didn't typecheck before the fix -} diff --git a/tests/untried/pos/t2660.scala b/tests/untried/pos/t2660.scala deleted file mode 100644 index d42dcc72b..000000000 --- a/tests/untried/pos/t2660.scala +++ /dev/null @@ -1,25 +0,0 @@ -package hoho - -class G - -class H extends G - -class A[T](x: T) { - - def this(y: G, z: T) = { - this(z) - print(1) - } - - def this(z: H, h: T) = { - this(h) - print(2) - } -} - -object T { - def main(args: Array[String]): Unit = { - implicit def g2h(g: G): H = new H - new A(new H, 23) - } -} diff --git a/tests/untried/pos/t267.scala b/tests/untried/pos/t267.scala deleted file mode 100644 index 7e5876eae..000000000 --- a/tests/untried/pos/t267.scala +++ /dev/null @@ -1,55 +0,0 @@ -package expAbstractData - -/** A base class consisting of - * - a root trait (i.e. abstract class) `Exp' with an `eval' function - * - an abstract type `exp' bounded by `Exp' - * - a concrete instance class `Num' of `Exp' for numeric literals - */ -trait Base { - type exp <: Exp - - trait Exp { - def eval: Int - } - class Num(v: Int) extends Exp { self: exp => - val value = v - def eval = value - } -} - -object testBase extends App with Base { - type exp = Exp - val term = new Num(2); - Console.println(term.eval) -} - -/** Data extension: An extension of `Base' with `Plus' expressions - */ -trait BasePlus extends Base { - class Plus(l: exp, r: exp) extends Exp { self: exp => - val left = l - val right = r - def eval = left.eval + right.eval - } -} - -/** Operation extension: An extension of `Base' with 'show' methods. - */ -trait Show extends Base { - type exp <: Exp1 - - trait Exp1 extends Exp { - def show: String - } - class Num1(v: Int) extends Num(v) with Exp1 { self: exp with Num1 => - def show = value.toString() - } -} - -/** Operation extension: An extension of `BasePlus' with 'show' methods. - */ -trait ShowPlus extends BasePlus with Show { - class Plus1(l: exp, r: exp) extends Plus(l, r) with Exp1 { self: exp with Plus1 => - def show = left.show + " + " + right.show - } -} diff --git a/tests/untried/pos/t3020.scala b/tests/untried/pos/t3020.scala deleted file mode 100644 index 016563e27..000000000 --- a/tests/untried/pos/t3020.scala +++ /dev/null @@ -1,9 +0,0 @@ -object Test { - def main(args: Array[String]): Unit = { - var x = true - - ( { if (x) new scala.util.Random() } .asInstanceOf[Runnable] ) - } -} - - diff --git a/tests/untried/pos/t3037.scala b/tests/untried/pos/t3037.scala deleted file mode 100644 index b71ffe041..000000000 --- a/tests/untried/pos/t3037.scala +++ /dev/null @@ -1,13 +0,0 @@ -package test - -object A { - println(("a" match { - case "a" => 1 - case _ => "a" - }).asInstanceOf[Object]) - def foo[T](x: T) = x - var x: Int = 1 - var y: Long = 1L - x = foo(x) - y = foo(y) -} diff --git a/tests/untried/pos/t304.scala b/tests/untried/pos/t304.scala deleted file mode 100644 index 76da44157..000000000 --- a/tests/untried/pos/t304.scala +++ /dev/null @@ -1,5 +0,0 @@ -object O { - def f1 = -1; - def f2 = 0-1; - def f3 = -f1; -} diff --git a/tests/untried/pos/t3106.scala b/tests/untried/pos/t3106.scala deleted file mode 100644 index a9591d0aa..000000000 --- a/tests/untried/pos/t3106.scala +++ /dev/null @@ -1,7 +0,0 @@ -class Sample[A] (val d0: ((A,A)) => A) {} - -object Sample { - implicit def apply[A] (x:A): Sample[A] = { - new Sample(p => p._1) - } -} diff --git a/tests/untried/pos/t3137.scala b/tests/untried/pos/t3137.scala deleted file mode 100644 index cb7317af0..000000000 --- a/tests/untried/pos/t3137.scala +++ /dev/null @@ -1,17 +0,0 @@ -trait A { - val C: Any -} - -class B extends A { - class C - object C -} - -trait AA { - type C - def C: Int => C -} - -class BB extends AA { - case class C(v: Int) -} diff --git a/tests/untried/pos/t3152.scala b/tests/untried/pos/t3152.scala deleted file mode 100644 index 3d1dcbd6f..000000000 --- a/tests/untried/pos/t3152.scala +++ /dev/null @@ -1,20 +0,0 @@ -trait Applicative[M[_]] - -sealed trait MA[M[_], A] { - def sequence[N[_], B](implicit a: A <:< N[B], n: Applicative[N]): N[M[B]] = sys.error("stub") - // def sequence3[N[_], B]()(implicit a: A <:< N[B], n: Applicative[N]): N[M[B]] = sys.error("stub") -} - -object test { - implicit def ListMA[A](l: List[A]): MA[List, A] = sys.error("stub") - implicit val ao: Applicative[Option] = sys.error("stub") - - /* This compiles OK: - (Nil: List[Option[Int]]).sequence3(): Option[List[Int]] - */ - - // BUG: error: immutable is not an enclosing class - // !!! No line number is reported with the error - (Nil: List[Option[Int]]).sequence: Option[List[Int]] - (List[Option[Int]]()).sequence: Option[List[Int]] -} diff --git a/tests/untried/pos/t3174.scala b/tests/untried/pos/t3174.scala deleted file mode 100755 index 8d9b2578d..000000000 --- a/tests/untried/pos/t3174.scala +++ /dev/null @@ -1,14 +0,0 @@ -object test { - def method(): Unit = { - class Foo extends AnyRef { - object Color { - object Blue - } - - class Board { - val grid = Color.Blue - } - } - new Foo - } - } diff --git a/tests/untried/pos/t3175-pos.scala b/tests/untried/pos/t3175-pos.scala deleted file mode 100644 index 89bbf8b5f..000000000 --- a/tests/untried/pos/t3175-pos.scala +++ /dev/null @@ -1,7 +0,0 @@ -object Test { - def f(g:{val update:Unit}) = g.update - - def main(args: Array[String]): Unit = { - - } -} diff --git a/tests/untried/pos/t3177.scala b/tests/untried/pos/t3177.scala deleted file mode 100644 index 12dfce6ee..000000000 --- a/tests/untried/pos/t3177.scala +++ /dev/null @@ -1,39 +0,0 @@ -trait InvariantFunctor[F[_]] { - def xmap[A, B](ma: F[A], f: A => B, g: B => A): F[B] -} - -object InvariantFunctor { - import Endo._ - - implicit val EndoInvariantFunctor: InvariantFunctor[Endo] = new InvariantFunctor[Endo] { - def xmap[A, B](ma: Endo[A], f: A => B, g: B => A): Endo[B] = (b: B) => f(ma(g(b))) - } - - // The definition about fails with: - // anon-type.scala:9: error: not found: value b - // def xmap[A, B](ma: Endo[A], f: A => B, g: B => A): Endo[B] = (b: B) => f(ma(g(b))) - // ^ - // anon-type.scala:8: error: not found: type $anon - // implicit val EndoInvariantFunctor = new InvariantFunctor[Endo] { - // ^ - - - // These both work: - // implicit val EndoInvariantFunctorAscribed: InvariantFunctor[Endo] = new InvariantFunctor[Endo] { - // def xmap[A, B](ma: Endo[A], f: A => B, g: B => A): Endo[B] = (b: B) => f(ma(g(b))) - // } - // - // implicit val EndoInvariantFunctorStubbed = new InvariantFunctor[Endo] { - // def xmap[A, B](ma: Endo[A], f: A => B, g: B => A): Endo[B] = error("stub") - // } -} - -trait Endo[X] - -object Endo { - implicit def EndoTo[A](f: A => A): Endo[A] = new Endo[A] { - def apply(a: A) = f(a) - } - - implicit def EndoFrom[A](e: Endo[A]): A => A = e.apply(_) -} diff --git a/tests/untried/pos/t319.scala b/tests/untried/pos/t319.scala deleted file mode 100644 index eed25eb84..000000000 --- a/tests/untried/pos/t319.scala +++ /dev/null @@ -1,21 +0,0 @@ -object test { - - trait A { type T; } - - trait B { type T; } - - /** def functor(x: A): B { type T = x.T } */ - abstract class functor() { - val arg: A; - val res: B { type T = arg.T } = - new B { type T = arg.T; }; - } - - val a = new A { type T = String }; - /** val b: B { type T = String } = functor(a) */ - val b: B { type T = String } = { - val tmp = new functor() { val arg = a }; - tmp.res - } - -} diff --git a/tests/untried/pos/t3252.flags b/tests/untried/pos/t3252.flags deleted file mode 100644 index eb4d19bcb..000000000 --- a/tests/untried/pos/t3252.flags +++ /dev/null @@ -1 +0,0 @@ --optimise
\ No newline at end of file diff --git a/tests/untried/pos/t3252.scala b/tests/untried/pos/t3252.scala deleted file mode 100644 index 3ecc1e7ce..000000000 --- a/tests/untried/pos/t3252.scala +++ /dev/null @@ -1,15 +0,0 @@ -class A { - def f(x : Boolean) : Thread = { - g { - x match { - case false => - B.h { } - } - } - } - - private def g[T](block : => T) = sys.error("") -} -object B { - def h(block : => Unit) : Nothing = sys.error("") -} diff --git a/tests/untried/pos/t3274.scala b/tests/untried/pos/t3274.scala deleted file mode 100644 index bd8b080c9..000000000 --- a/tests/untried/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/untried/pos/t3278.scala b/tests/untried/pos/t3278.scala deleted file mode 100644 index 458070c5e..000000000 --- a/tests/untried/pos/t3278.scala +++ /dev/null @@ -1,15 +0,0 @@ -class Foo -class Test { - def update[B](x : B, b : Int): Unit = {} - def apply[B](x : B) = 1 -} - -object Test { - def main(a : Array[String]): Unit = { - val a = new Test - val f = new Foo - a(f) = 1 //works - a(f) = a(f) + 1 //works - a(f) += 1 //error: reassignment to val - } -} diff --git a/tests/untried/pos/t3343.scala b/tests/untried/pos/t3343.scala deleted file mode 100644 index 9d1bc9355..000000000 --- a/tests/untried/pos/t3343.scala +++ /dev/null @@ -1,15 +0,0 @@ -import scala.collection.mutable.{ Builder, ListBuffer } - -object Test { - class Converter[T] - object SimpleIntConverter extends Converter[Int] - - class TraversableConverter[T, Coll[X] <: Traversable[X]](converter: Converter[T], builder: Builder[T, Coll[T]]) extends Converter[Coll[T]] { - def convert(x: T): List[T] = List(x) - } - val tc: Converter[List[Int]] = new TraversableConverter(SimpleIntConverter, new ListBuffer[Int]) - val tc2 = new TraversableConverter(SimpleIntConverter, new ListBuffer[Int]) - - def main(args: Array[String]): Unit = { - } -} diff --git a/tests/untried/pos/t3363-new.scala b/tests/untried/pos/t3363-new.scala deleted file mode 100644 index f935cfe1a..000000000 --- a/tests/untried/pos/t3363-new.scala +++ /dev/null @@ -1,20 +0,0 @@ -import scala.reflect.runtime.universe._ - -object TestCase { - - //now matter if you put (abstract) class or trait it will fail in all cases - trait MapOps[T] - - //if fs was reduced to List (generic type with one parameter) then the code compiles - //if you inherit from MapOps[T] instead of MapOps[F] then code compiles fine - implicit def map2ops[T,F](fs: Map[T,F]): TestCase.MapOps[F]{lazy val m: reflect.runtime.universe.TypeTag[T]; def is(xs: List[T]): List[List[T]]} = new MapOps[F] { - //if you remove this line, then code compiles - lazy val m: TypeTag[T] = sys.error("just something to make it compile") - def is(xs: List[T]) = List(xs) - } - - def main(args: Array[String]): Unit = { - println(Map(1 -> "2") is List(2)) - } - - } diff --git a/tests/untried/pos/t3363-old.scala b/tests/untried/pos/t3363-old.scala deleted file mode 100644 index 8e54d4b4a..000000000 --- a/tests/untried/pos/t3363-old.scala +++ /dev/null @@ -1,18 +0,0 @@ -object TestCase { - - //now matter if you put (abstract) class or trait it will fail in all cases - trait MapOps[T] - - //if fs was reduced to List (generic type with one parameter) then the code compiles - //if you inherit from MapOps[T] instead of MapOps[F] then code compiles fine - implicit def map2ops[T,F](fs: Map[T,F]): TestCase.MapOps[F]{lazy val m: Manifest[T]; def is(xs: List[T]): List[List[T]]} = new MapOps[F] { - //if you remove this line, then code compiles - lazy val m: Manifest[T] = sys.error("just something to make it compile") - def is(xs: List[T]) = List(xs) - } - - def main(args: Array[String]): Unit = { - println(Map(1 -> "2") is List(2)) - } - - } diff --git a/tests/untried/pos/t3411.scala b/tests/untried/pos/t3411.scala deleted file mode 100644 index 6d46be4e4..000000000 --- a/tests/untried/pos/t3411.scala +++ /dev/null @@ -1,8 +0,0 @@ -object A { - def g(c: PartialFunction[Any,Unit]): Unit = {} - - def f: Unit = { - lazy val x = 0 - g { case `x` => } - } -} diff --git a/tests/untried/pos/t344.scala b/tests/untried/pos/t344.scala deleted file mode 100644 index 449a763af..000000000 --- a/tests/untried/pos/t344.scala +++ /dev/null @@ -1,12 +0,0 @@ -object Bug { - class A; - case class A1() extends A; - case class A2() extends A; - def f: A = - if (true) - A1() - else { - val a = if (true) A1() else A2(); - a - }; -} diff --git a/tests/untried/pos/t3477.scala b/tests/untried/pos/t3477.scala deleted file mode 100644 index 6a94baa6c..000000000 --- a/tests/untried/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/untried/pos/t3480.scala b/tests/untried/pos/t3480.scala deleted file mode 100644 index d9a092e8a..000000000 --- a/tests/untried/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/untried/pos/t3494.scala b/tests/untried/pos/t3494.scala deleted file mode 100644 index dd54b0f82..000000000 --- a/tests/untried/pos/t3494.scala +++ /dev/null @@ -1,7 +0,0 @@ -object Test { - def f[T](xs: T*) = () - - val x = "abc" - - f[x.type](x) -} diff --git a/tests/untried/pos/t3498-new.scala b/tests/untried/pos/t3498-new.scala deleted file mode 100644 index ccf2af9de..000000000 --- a/tests/untried/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/untried/pos/t3498-old.scala b/tests/untried/pos/t3498-old.scala deleted file mode 100644 index 118a8d849..000000000 --- a/tests/untried/pos/t3498-old.scala +++ /dev/null @@ -1,15 +0,0 @@ -abstract class A[T, @specialized(scala.Int) U : Manifest] { - 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/untried/pos/t3534.scala b/tests/untried/pos/t3534.scala deleted file mode 100644 index 44d3aafb6..000000000 --- a/tests/untried/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/untried/pos/t3568.scala b/tests/untried/pos/t3568.scala deleted file mode 100755 index 50f0cdb2e..000000000 --- a/tests/untried/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/untried/pos/t3577.scala b/tests/untried/pos/t3577.scala deleted file mode 100644 index 1ac1786c1..000000000 --- a/tests/untried/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/untried/pos/t3582b.scala b/tests/untried/pos/t3582b.scala deleted file mode 100644 index f7778148e..000000000 --- a/tests/untried/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/untried/pos/t360.scala b/tests/untried/pos/t360.scala deleted file mode 100644 index f3716d4f9..000000000 --- a/tests/untried/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/untried/pos/t3612.scala b/tests/untried/pos/t3612.scala deleted file mode 100644 index a9d063998..000000000 --- a/tests/untried/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/untried/pos/t3631.scala b/tests/untried/pos/t3631.scala deleted file mode 100644 index e72374130..000000000 --- a/tests/untried/pos/t3631.scala +++ /dev/null @@ -1,3 +0,0 @@ -case class X22(x1: Int, x2: Int, x3: Int, x4: Int, x5: Int, x6: Int, x7: Int, x8: Int, x9: Int, x10: Int, x11: Int, x12: Int, x13: Int, x14: Int, x15: Int, x16: Int, x17: Int, x18: Int, x19: Int, x20: Int, x21: Int, x22: Int) { } - -case class X23(x1: Int, x2: Int, x3: Int, x4: Int, x5: Int, x6: Int, x7: Int, x8: Int, x9: Int, x10: Int, x11: Int, x12: Int, x13: Int, x14: Int, x15: Int, x16: Int, x17: Int, x18: Int, x19: Int, x20: Int, x21: Int, x22: Int, x23: Int) { } diff --git a/tests/untried/pos/t3688.scala b/tests/untried/pos/t3688.scala deleted file mode 100644 index bf7983081..000000000 --- a/tests/untried/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/untried/pos/t3777.scala b/tests/untried/pos/t3777.scala deleted file mode 100644 index 165eeebfd..000000000 --- a/tests/untried/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/untried/pos/t3800.scala b/tests/untried/pos/t3800.scala deleted file mode 100644 index 096502174..000000000 --- a/tests/untried/pos/t3800.scala +++ /dev/null @@ -1,6 +0,0 @@ -class meh extends annotation.StaticAnnotation - -class ALike[C] -abstract class AFactory[CC[x] <: ALike[CC[x]]] { - def aCompanion : AFactory[CC @meh] -} diff --git a/tests/untried/pos/t3856.scala b/tests/untried/pos/t3856.scala deleted file mode 100644 index 6b38edc52..000000000 --- a/tests/untried/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/untried/pos/t3859.scala b/tests/untried/pos/t3859.scala deleted file mode 100644 index 992207301..000000000 --- a/tests/untried/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/untried/pos/t3869.scala b/tests/untried/pos/t3869.scala deleted file mode 100644 index 581c11c81..000000000 --- a/tests/untried/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/untried/pos/t3880.scala b/tests/untried/pos/t3880.scala deleted file mode 100644 index f778eb71a..000000000 --- a/tests/untried/pos/t3880.scala +++ /dev/null @@ -1,16 +0,0 @@ -abstract class Bar[+B] { -} -abstract class C1[+B] extends Bar[B] { - private[this] def g(x: C1[B]): Unit = () - - // this method is fine: notice that it allows the call to g, - // which requires C1[B], even though we matched on C1[_]. - // (That is good news.) - private[this] def f1(x: Bar[B]): Unit = x match { - case x: C1[_] => g(x) - } - // this one crashes. - private[this] def f2(x: Bar[B]): Unit = x match { - case x: C1[_] => f2(x) - } -} diff --git a/tests/untried/pos/t3938/Parent.java b/tests/untried/pos/t3938/Parent.java deleted file mode 100644 index 08fae330b..000000000 --- a/tests/untried/pos/t3938/Parent.java +++ /dev/null @@ -1,9 +0,0 @@ -public class Parent<A>{ - class I1 {} - class I2 extends Parent.I1 {} - - // OKAY: - class I3 extends I1 {} - static class I4 {} - static class I5 extends Parent.I4 {} -} diff --git a/tests/untried/pos/t3938/UseParent.scala b/tests/untried/pos/t3938/UseParent.scala deleted file mode 100644 index 685d1a03a..000000000 --- a/tests/untried/pos/t3938/UseParent.scala +++ /dev/null @@ -1,7 +0,0 @@ -object UseParent { - classOf[Parent[AnyRef]#I2] - - // OKAY - classOf[Parent[AnyRef]#I3] - classOf[Parent.I5] -} diff --git a/tests/untried/pos/t3960.flags b/tests/untried/pos/t3960.flags deleted file mode 100644 index 4449dbbdf..000000000 --- a/tests/untried/pos/t3960.flags +++ /dev/null @@ -1 +0,0 @@ --Ycheck:typer
\ No newline at end of file diff --git a/tests/untried/pos/t3960.scala b/tests/untried/pos/t3960.scala deleted file mode 100644 index 5c658e9fb..000000000 --- a/tests/untried/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/untried/pos/t3986.scala b/tests/untried/pos/t3986.scala deleted file mode 100644 index ea6c64fde..000000000 --- a/tests/untried/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/untried/pos/t3999/a_1.scala b/tests/untried/pos/t3999/a_1.scala deleted file mode 100644 index be9cc371e..000000000 --- a/tests/untried/pos/t3999/a_1.scala +++ /dev/null @@ -1,9 +0,0 @@ -package foo - -class Outside - -package object bar { - class Val(b: Boolean) - implicit def boolean2Val(b: Boolean): foo.bar.package.Val = new Val(b) - implicit def boolean2Outside(b: Boolean): foo.Outside = new Outside -} diff --git a/tests/untried/pos/t3999/b_2.scala b/tests/untried/pos/t3999/b_2.scala deleted file mode 100644 index 775b839d9..000000000 --- a/tests/untried/pos/t3999/b_2.scala +++ /dev/null @@ -1,7 +0,0 @@ -package foo -package bar - -class A { - val s: Val = false - val o: Outside = false -} diff --git a/tests/untried/pos/t3999b.scala b/tests/untried/pos/t3999b.scala deleted file mode 100644 index 0f3f7d642..000000000 --- a/tests/untried/pos/t3999b.scala +++ /dev/null @@ -1,20 +0,0 @@ -object `package` { - trait Score { def toString : String } - trait Test[+T <: Score] { def apply(s : String) : T } - - case class FT(f : Float) extends Score - implicit object FT extends Test[FT] { def apply(s : String) : FT = new FT(s.toFloat) } - - case class IT(i : Int) extends Score - implicit object IT extends Test[IT] { def apply(s : String) : IT = new IT(s.toInt) } -} - -class TT[+T <: Score](implicit val tb : Test[T]) { - def read(s : String) : T = tb(s) -} - -object Tester { - val tt = new TT[FT] - val r = tt.read("1.0") - r.toString -} diff --git a/tests/untried/pos/t404.scala b/tests/untried/pos/t404.scala deleted file mode 100644 index 8f5e8bef5..000000000 --- a/tests/untried/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/untried/pos/t415.scala b/tests/untried/pos/t415.scala deleted file mode 100644 index 355b6136d..000000000 --- a/tests/untried/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/untried/pos/t4176.scala b/tests/untried/pos/t4176.scala deleted file mode 100644 index b4f1e705b..000000000 --- a/tests/untried/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/untried/pos/t4176b.scala b/tests/untried/pos/t4176b.scala deleted file mode 100644 index 11914c50c..000000000 --- a/tests/untried/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/untried/pos/t4188.scala b/tests/untried/pos/t4188.scala deleted file mode 100644 index 40e7d4924..000000000 --- a/tests/untried/pos/t4188.scala +++ /dev/null @@ -1,6 +0,0 @@ -class A { - object Ding - class B { - (null: Any) match { case _: Ding.type => () } - } -} diff --git a/tests/untried/pos/t4202.scala b/tests/untried/pos/t4202.scala deleted file mode 100644 index b2a0c0120..000000000 --- a/tests/untried/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/untried/pos/t4237.scala b/tests/untried/pos/t4237.scala deleted file mode 100644 index 44bc81462..000000000 --- a/tests/untried/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/untried/pos/t4269.scala b/tests/untried/pos/t4269.scala deleted file mode 100644 index 99a30785b..000000000 --- a/tests/untried/pos/t4269.scala +++ /dev/null @@ -1,5 +0,0 @@ -class A { - PartialFunction.condOpt(Nil) { - case items@List(_*) if true => - } -} diff --git a/tests/untried/pos/t4273.scala b/tests/untried/pos/t4273.scala deleted file mode 100644 index 8c4cbbbaf..000000000 --- a/tests/untried/pos/t4273.scala +++ /dev/null @@ -1,8 +0,0 @@ -class A { - implicit def compareComparables[T](x: T)(implicit ord: Ordering[T]): ord.Ops = new ord.Ops(x) - - class Bippy - implicit val bippyOrdering: Ordering[A.this.Bippy] = new Ordering[Bippy] { def compare(x: Bippy, y: Bippy) = util.Random.nextInt } - - (new Bippy) < (new Bippy) -} diff --git a/tests/untried/pos/t430-feb09.scala b/tests/untried/pos/t430-feb09.scala deleted file mode 100644 index 1499f32b7..000000000 --- a/tests/untried/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/untried/pos/t4336.scala b/tests/untried/pos/t4336.scala deleted file mode 100644 index e10d00158..000000000 --- a/tests/untried/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/untried/pos/t4345.scala b/tests/untried/pos/t4345.scala deleted file mode 100644 index b0131d5fa..000000000 --- a/tests/untried/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/untried/pos/t4363.scala b/tests/untried/pos/t4363.scala deleted file mode 100644 index 64cdcd935..000000000 --- a/tests/untried/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/untried/pos/t4365/a_1.scala b/tests/untried/pos/t4365/a_1.scala deleted file mode 100644 index a24b57772..000000000 --- a/tests/untried/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/untried/pos/t4365/b_1.scala b/tests/untried/pos/t4365/b_1.scala deleted file mode 100644 index e1423813f..000000000 --- a/tests/untried/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/untried/pos/t4545.scala b/tests/untried/pos/t4545.scala deleted file mode 100644 index b2b67fa8f..000000000 --- a/tests/untried/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/untried/pos/t4553.scala b/tests/untried/pos/t4553.scala deleted file mode 100755 index e9bef4099..000000000 --- a/tests/untried/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/untried/pos/t4579.flags b/tests/untried/pos/t4579.flags deleted file mode 100644 index 1182725e8..000000000 --- a/tests/untried/pos/t4579.flags +++ /dev/null @@ -1 +0,0 @@ --optimize
\ No newline at end of file diff --git a/tests/untried/pos/t4579.scala b/tests/untried/pos/t4579.scala deleted file mode 100644 index b298ee579..000000000 --- a/tests/untried/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/untried/pos/t460.scala b/tests/untried/pos/t460.scala deleted file mode 100644 index 3fc13e4dd..000000000 --- a/tests/untried/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/untried/pos/t4737/J_1.java b/tests/untried/pos/t4737/J_1.java deleted file mode 100644 index 284afd6c1..000000000 --- a/tests/untried/pos/t4737/J_1.java +++ /dev/null @@ -1,9 +0,0 @@ -package j; - -public class J_1 { - protected class JavaInnerClass { - } - public void method(JavaInnerClass javaInnerclass) { - System.out.println("hello"); - } -} diff --git a/tests/untried/pos/t4737/S_2.scala b/tests/untried/pos/t4737/S_2.scala deleted file mode 100644 index dc89d1316..000000000 --- a/tests/untried/pos/t4737/S_2.scala +++ /dev/null @@ -1,10 +0,0 @@ -package s - -import j.J_1 - -class ScalaSubClass extends J_1 { - override def method(javaInnerClass: J_1#JavaInnerClass): Unit = { - println("world") - } -} - diff --git a/tests/untried/pos/t4760.scala b/tests/untried/pos/t4760.scala deleted file mode 100644 index d4407a86b..000000000 --- a/tests/untried/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/untried/pos/t4853.scala b/tests/untried/pos/t4853.scala deleted file mode 100644 index f227ef36e..000000000 --- a/tests/untried/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/untried/pos/t4859.scala b/tests/untried/pos/t4859.scala deleted file mode 100644 index 284a39b7a..000000000 --- a/tests/untried/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/untried/pos/t4911.flags b/tests/untried/pos/t4911.flags deleted file mode 100644 index 779916d58..000000000 --- a/tests/untried/pos/t4911.flags +++ /dev/null @@ -1 +0,0 @@ --unchecked -Xfatal-warnings
\ No newline at end of file diff --git a/tests/untried/pos/t4911.scala b/tests/untried/pos/t4911.scala deleted file mode 100644 index cfb3792ae..000000000 --- a/tests/untried/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/untried/pos/t4970.scala b/tests/untried/pos/t4970.scala deleted file mode 100644 index f2f284f91..000000000 --- a/tests/untried/pos/t4970.scala +++ /dev/null @@ -1,13 +0,0 @@ -trait OuterClass[V <: OuterClass[V]#InnerClass] { - trait InnerClass {self: V => - def method = () - } -} - -trait SubOuterClass[T <: SubOuterClass[T]#SubInnerClass] extends OuterClass[T] { - class SubInnerClass extends super.InnerClass {self: T => } -} - -trait SubOuterClass2[T <: SubOuterClass2[T]#SubInnerClass2] extends OuterClass[T] { - class SubInnerClass2 extends super.InnerClass {self: InnerClass with T => } -} diff --git a/tests/untried/pos/t4970b.scala b/tests/untried/pos/t4970b.scala deleted file mode 100644 index cf9a6a6ae..000000000 --- a/tests/untried/pos/t4970b.scala +++ /dev/null @@ -1,32 +0,0 @@ -object Traits { - trait OuterClass[V <: OuterClass[V]#InnerClass] { - trait InnerClass {self: V => - def method = () - } - } - - trait SubOuterClass[T <: SubOuterClass[T]#SubInnerClass] extends OuterClass[T] { - trait SubInnerClass extends super.InnerClass {self: T => } - } - - trait SubOuterClass2[T <: SubOuterClass2[T]#SubInnerClass2] extends OuterClass[T] { - trait SubInnerClass2 extends super.InnerClass {self: InnerClass with T => } - } - -} - -// object Classes { -// class OuterClass[V <: OuterClass[V]#InnerClass] { -// class InnerClass {self: V => -// def method = () -// } -// } - -// class SubOuterClass[T <: SubOuterClass[T]#SubInnerClass] extends OuterClass[T] { -// class SubInnerClass extends super.InnerClass {self: T => } -// } - -// class SubOuterClass2[T <: SubOuterClass2[T]#SubInnerClass2] extends OuterClass[T] { -// class SubInnerClass2 extends super.InnerClass {self: InnerClass with T => } -// } -// } diff --git a/tests/untried/pos/t4975.scala b/tests/untried/pos/t4975.scala deleted file mode 100644 index 3339631dc..000000000 --- a/tests/untried/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/untried/pos/t5012.scala b/tests/untried/pos/t5012.scala deleted file mode 100644 index 772b8f448..000000000 --- a/tests/untried/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/untried/pos/t5022.scala b/tests/untried/pos/t5022.scala deleted file mode 100644 index 5db71c656..000000000 --- a/tests/untried/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/untried/pos/t5029.flags b/tests/untried/pos/t5029.flags deleted file mode 100644 index e8fb65d50..000000000 --- a/tests/untried/pos/t5029.flags +++ /dev/null @@ -1 +0,0 @@ --Xfatal-warnings
\ No newline at end of file diff --git a/tests/untried/pos/t5029.scala b/tests/untried/pos/t5029.scala deleted file mode 100644 index b68fc0367..000000000 --- a/tests/untried/pos/t5029.scala +++ /dev/null @@ -1,3 +0,0 @@ -object Test { - (Vector(): Seq[_]) match { case List() => true; case Nil => false } -} diff --git a/tests/untried/pos/t5041.scala b/tests/untried/pos/t5041.scala deleted file mode 100644 index 78a1b27d5..000000000 --- a/tests/untried/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/untried/pos/t5082.scala b/tests/untried/pos/t5082.scala deleted file mode 100644 index 63eeda38b..000000000 --- a/tests/untried/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/untried/pos/t5119.scala b/tests/untried/pos/t5119.scala deleted file mode 100644 index 4a67244e5..000000000 --- a/tests/untried/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/untried/pos/t5130.scala b/tests/untried/pos/t5130.scala deleted file mode 100644 index 676d3c705..000000000 --- a/tests/untried/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/untried/pos/t5156.scala b/tests/untried/pos/t5156.scala deleted file mode 100644 index 41b1c296e..000000000 --- a/tests/untried/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/untried/pos/t5165/TestAnnotation.java b/tests/untried/pos/t5165/TestAnnotation.java deleted file mode 100644 index 90886b753..000000000 --- a/tests/untried/pos/t5165/TestAnnotation.java +++ /dev/null @@ -1,11 +0,0 @@ -import java.lang.annotation.*; - -@Retention(RetentionPolicy.RUNTIME) -public @interface TestAnnotation { - public enum TestEnumOne { A, B } - public enum TestEnumTwo { C, D } - - public TestEnumOne one(); - public TestEnumTwo two(); - public String strVal(); -} diff --git a/tests/untried/pos/t5165/TestObject.scala b/tests/untried/pos/t5165/TestObject.scala deleted file mode 100644 index eaf244e9d..000000000 --- a/tests/untried/pos/t5165/TestObject.scala +++ /dev/null @@ -1,3 +0,0 @@ - -object TestObject extends TestTrait - diff --git a/tests/untried/pos/t5165/TestTrait.scala b/tests/untried/pos/t5165/TestTrait.scala deleted file mode 100644 index b317e6c6a..000000000 --- a/tests/untried/pos/t5165/TestTrait.scala +++ /dev/null @@ -1,3 +0,0 @@ - -@TestAnnotation(one=TestAnnotation.TestEnumOne.A, two=TestAnnotation.TestEnumTwo.C, strVal="something") -trait TestTrait diff --git a/tests/untried/pos/t5165b/TestAnnotation_1.java b/tests/untried/pos/t5165b/TestAnnotation_1.java deleted file mode 100644 index 02eb3f9d4..000000000 --- a/tests/untried/pos/t5165b/TestAnnotation_1.java +++ /dev/null @@ -1,11 +0,0 @@ -import java.lang.annotation.*; - -@Retention(RetentionPolicy.RUNTIME) -public @interface TestAnnotation_1 { - public enum TestEnumOne { A, B } - public enum TestEnumTwo { C, D } - - public TestEnumOne one(); - public TestEnumTwo two(); - public String strVal(); -} diff --git a/tests/untried/pos/t5165b/TestObject_3.scala b/tests/untried/pos/t5165b/TestObject_3.scala deleted file mode 100644 index eaf244e9d..000000000 --- a/tests/untried/pos/t5165b/TestObject_3.scala +++ /dev/null @@ -1,3 +0,0 @@ - -object TestObject extends TestTrait - diff --git a/tests/untried/pos/t5165b/TestTrait_2.scala b/tests/untried/pos/t5165b/TestTrait_2.scala deleted file mode 100644 index ab4facebc..000000000 --- a/tests/untried/pos/t5165b/TestTrait_2.scala +++ /dev/null @@ -1,3 +0,0 @@ - -@TestAnnotation_1(one=TestAnnotation_1.TestEnumOne.A, two=TestAnnotation_1.TestEnumTwo.C, strVal="something") -trait TestTrait diff --git a/tests/untried/pos/t5210.scala b/tests/untried/pos/t5210.scala deleted file mode 100644 index e85037a90..000000000 --- a/tests/untried/pos/t5210.scala +++ /dev/null @@ -1,10 +0,0 @@ -object WithOpTest { - trait WithOp extends Cloneable { - def f: this.type = this - def g1: this.type = f - def g2: this.type = { - val t = f - t - } - } -} diff --git a/tests/untried/pos/t5223.scala b/tests/untried/pos/t5223.scala deleted file mode 100644 index bfd1e153c..000000000 --- a/tests/untried/pos/t5223.scala +++ /dev/null @@ -1,6 +0,0 @@ -import scala.reflect.runtime.universe._ - -object Foo extends App { - reify{def printf(format: String, args: Any*): String = null } - reify{def printf(format: String, args: Any*): String = ("abc": @deprecated)} -} diff --git a/tests/untried/pos/t5259.scala b/tests/untried/pos/t5259.scala deleted file mode 100644 index 40c508f7d..000000000 --- a/tests/untried/pos/t5259.scala +++ /dev/null @@ -1,21 +0,0 @@ -class A[T] -class B { - def m(a: A[this.type] = new A[this.type]): Unit = { } -} - -class C { - def foo(a: Int, b: Int = 0) = 0 - def foo() = 0 -} - -object Test { - def newB = new B - newB.m() - - val stableB = new B - stableB.m() - - def f: Unit = { - println((new C).foo(0)) - } -} diff --git a/tests/untried/pos/t5317.scala b/tests/untried/pos/t5317.scala deleted file mode 100644 index 052e84438..000000000 --- a/tests/untried/pos/t5317.scala +++ /dev/null @@ -1,12 +0,0 @@ -object Test { - trait S { type T; val x: AnyRef } - trait A extends S { type T <: A; val x: A = null } - trait B extends S { type T <: B; val x: B = null } - - val a = new A{} - val b = new B{} - val y = if (true) a else b - - // lub of y should allow for this - println(y.x.x) -} diff --git a/tests/untried/pos/t533.scala b/tests/untried/pos/t533.scala deleted file mode 100644 index 9bc9995d9..000000000 --- a/tests/untried/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/untried/pos/t5330.scala b/tests/untried/pos/t5330.scala deleted file mode 100644 index 24aab7733..000000000 --- a/tests/untried/pos/t5330.scala +++ /dev/null @@ -1,22 +0,0 @@ -trait FM[A] { - def map(f: A => Any): Unit -} - -trait M[A] extends FM[A] { - def map(f: A => Any): Unit -} - -trait N[A] extends FM[A] - -object test { - def kaboom(xs: M[_]) = xs map (x => ()) // missing parameter type. - - def okay1[A](xs: M[A]) = xs map (x => ()) - def okay2(xs: FM[_]) = xs map (x => ()) - def okay3(xs: N[_]) = xs map (x => ()) -} - -class CC2(xs: List[_]) { - def f(x1: Any, x2: Any) = null - def g = xs map (x => f(x, x)) -} diff --git a/tests/untried/pos/t5384.scala b/tests/untried/pos/t5384.scala deleted file mode 100644 index 4e297d593..000000000 --- a/tests/untried/pos/t5384.scala +++ /dev/null @@ -1,7 +0,0 @@ -class A(x: String, y: Int)(implicit o: String) -class B1(implicit o: String) extends A(y = 5, x = "a") -class B2(implicit o: String) extends A("a", 5) -class B3(implicit o: String) extends A(y = 5, x = "a")(o) - -class AM[E: Manifest](val x: Unit = (), y: Unit) -class BM[E: Manifest] extends AM[E](y = ()) diff --git a/tests/untried/pos/t5541.scala b/tests/untried/pos/t5541.scala deleted file mode 100644 index 90e5e4130..000000000 --- a/tests/untried/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/untried/pos/t5545/S_1.scala b/tests/untried/pos/t5545/S_1.scala deleted file mode 100644 index 59ec1fd85..000000000 --- a/tests/untried/pos/t5545/S_1.scala +++ /dev/null @@ -1,4 +0,0 @@ -trait F[@specialized(Int) T1, R] { - def f(v1: T1): R - def g = v1 => f(v1) -} diff --git a/tests/untried/pos/t5545/S_2.scala b/tests/untried/pos/t5545/S_2.scala deleted file mode 100644 index 59ec1fd85..000000000 --- a/tests/untried/pos/t5545/S_2.scala +++ /dev/null @@ -1,4 +0,0 @@ -trait F[@specialized(Int) T1, R] { - def f(v1: T1): R - def g = v1 => f(v1) -} diff --git a/tests/untried/pos/t5546.scala b/tests/untried/pos/t5546.scala deleted file mode 100644 index 8269bf18f..000000000 --- a/tests/untried/pos/t5546.scala +++ /dev/null @@ -1 +0,0 @@ -class A { def foo: Class[_ <: A] = getClass } diff --git a/tests/untried/pos/t5604/ReplConfig.scala b/tests/untried/pos/t5604/ReplConfig.scala deleted file mode 100644 index 8c589eba6..000000000 --- a/tests/untried/pos/t5604/ReplConfig.scala +++ /dev/null @@ -1,53 +0,0 @@ -/* NSC -- new Scala compiler - * Copyright 2005-2011 LAMP/EPFL - * @author Paul Phillips - */ - -package scala.tools.nsc -package interpreter - -import util.Exceptional.unwrap -import util.stackTraceString - -trait ReplConfig { - lazy val replProps = new ReplProps - - class TapMaker[T](x: T) { - def tapInfo(msg: => String): T = tap(x => replinfo(parens(x))) - def tapDebug(msg: => String): T = tap(x => repldbg(parens(x))) - def tapTrace(msg: => String): T = tap(x => repltrace(parens(x))) - def tap[U](f: T => U): T = { - f(x) - x - } - } - - private def parens(x: Any) = "(" + x + ")" - private def echo(msg: => String) = - try Console println msg - catch { case x: AssertionError => Console.println("Assertion error printing debugging output: " + x) } - - private[nsc] def repldbg(msg: => String) = if (isReplDebug) echo(msg) - private[nsc] def repltrace(msg: => String) = if (isReplTrace) echo(msg) - private[nsc] def replinfo(msg: => String) = if (isReplInfo) echo(msg) - - private[nsc] def logAndDiscard[T](label: String, alt: => T): PartialFunction[Throwable, T] = { - case t => - repldbg(label + ": " + unwrap(t)) - repltrace(stackTraceString(unwrap(t))) - alt - } - private[nsc] def substituteAndLog[T](alt: => T)(body: => T): T = - substituteAndLog("" + alt, alt)(body) - private[nsc] def substituteAndLog[T](label: String, alt: => T)(body: => T): T = { - try body - catch logAndDiscard(label, alt) - } - private[nsc] def squashAndLog(label: String)(body: => Unit): Unit = - substituteAndLog(label, ())(body) - - def isReplTrace: Boolean = replProps.trace - def isReplDebug: Boolean = replProps.debug || isReplTrace - def isReplInfo: Boolean = replProps.info || isReplDebug - def isReplPower: Boolean = replProps.power -} diff --git a/tests/untried/pos/t5604/ReplReporter.scala b/tests/untried/pos/t5604/ReplReporter.scala deleted file mode 100644 index 9423efd8a..000000000 --- a/tests/untried/pos/t5604/ReplReporter.scala +++ /dev/null @@ -1,30 +0,0 @@ -/* NSC -- new Scala compiler - * Copyright 2002-2011 LAMP/EPFL - * @author Paul Phillips - */ - -package scala.tools.nsc -package interpreter - -import reporters._ -import IMain._ - -class ReplReporter(intp: IMain) extends ConsoleReporter(intp.settings, Console.in, new ReplStrippingWriter(intp)) { - override def printMessage(msg: String): Unit = { - // Avoiding deadlock if the compiler starts logging before - // the lazy val is complete. - if (intp.isInitializeComplete) { - if (intp.totalSilence) { - if (isReplTrace) - super.printMessage("[silent] " + msg) - } - else super.printMessage(msg) - } - else Console.println("[init] " + msg) - } - - override def displayPrompt(): Unit = { - if (intp.totalSilence) () - else super.displayPrompt() - } -} diff --git a/tests/untried/pos/t5604b/T_1.scala b/tests/untried/pos/t5604b/T_1.scala deleted file mode 100644 index 179dcb10c..000000000 --- a/tests/untried/pos/t5604b/T_1.scala +++ /dev/null @@ -1,6 +0,0 @@ -// sandbox/t5604/T.scala -package t6504 - -trait T { - def foo: Boolean = false -} diff --git a/tests/untried/pos/t5604b/T_2.scala b/tests/untried/pos/t5604b/T_2.scala deleted file mode 100644 index 179dcb10c..000000000 --- a/tests/untried/pos/t5604b/T_2.scala +++ /dev/null @@ -1,6 +0,0 @@ -// sandbox/t5604/T.scala -package t6504 - -trait T { - def foo: Boolean = false -} diff --git a/tests/untried/pos/t5604b/Test_1.scala b/tests/untried/pos/t5604b/Test_1.scala deleted file mode 100644 index f7c58ebe8..000000000 --- a/tests/untried/pos/t5604b/Test_1.scala +++ /dev/null @@ -1,7 +0,0 @@ -// sandbox/t5604/Test.scala -package t6504 - -object Test { - def blerg1(a: Any): Any = if (foo) blerg1(0) - def blerg2(a: Any): Any = if (t6504.foo) blerg2(0) -} diff --git a/tests/untried/pos/t5604b/Test_2.scala b/tests/untried/pos/t5604b/Test_2.scala deleted file mode 100644 index f7c58ebe8..000000000 --- a/tests/untried/pos/t5604b/Test_2.scala +++ /dev/null @@ -1,7 +0,0 @@ -// sandbox/t5604/Test.scala -package t6504 - -object Test { - def blerg1(a: Any): Any = if (foo) blerg1(0) - def blerg2(a: Any): Any = if (t6504.foo) blerg2(0) -} diff --git a/tests/untried/pos/t5604b/pack_1.scala b/tests/untried/pos/t5604b/pack_1.scala deleted file mode 100644 index f50d568bf..000000000 --- a/tests/untried/pos/t5604b/pack_1.scala +++ /dev/null @@ -1,5 +0,0 @@ -// sandbox/t5604/pack.scala -package t6504 - -object `package` extends T { -} diff --git a/tests/untried/pos/t5626.scala b/tests/untried/pos/t5626.scala deleted file mode 100644 index c501dfbe6..000000000 --- a/tests/untried/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/untried/pos/t5654.scala b/tests/untried/pos/t5654.scala deleted file mode 100644 index 1f8d05bfe..000000000 --- a/tests/untried/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/untried/pos/t566.scala b/tests/untried/pos/t566.scala deleted file mode 100644 index 6a2a0a362..000000000 --- a/tests/untried/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/untried/pos/t5667.scala b/tests/untried/pos/t5667.scala deleted file mode 100644 index 353eec93d..000000000 --- a/tests/untried/pos/t5667.scala +++ /dev/null @@ -1,4 +0,0 @@ -object Main { - implicit class C(val s: String) extends AnyVal - implicit class C2(val s: String) extends AnyRef -} diff --git a/tests/untried/pos/t5692a/Macros_1.scala b/tests/untried/pos/t5692a/Macros_1.scala deleted file mode 100644 index 6e5069aff..000000000 --- a/tests/untried/pos/t5692a/Macros_1.scala +++ /dev/null @@ -1,6 +0,0 @@ -import scala.reflect.macros.blackbox.Context - -object Macros { - def impl[T](c: Context) = { import c.universe._; c.Expr[Unit](q"()") } - def foo[T] = macro impl[T] -} diff --git a/tests/untried/pos/t5692a/Test_2.scala b/tests/untried/pos/t5692a/Test_2.scala deleted file mode 100644 index 72ecd9576..000000000 --- a/tests/untried/pos/t5692a/Test_2.scala +++ /dev/null @@ -1,3 +0,0 @@ -class Test { - def x = Macros.foo -} diff --git a/tests/untried/pos/t5692b/Macros_1.scala b/tests/untried/pos/t5692b/Macros_1.scala deleted file mode 100644 index 82109075f..000000000 --- a/tests/untried/pos/t5692b/Macros_1.scala +++ /dev/null @@ -1,6 +0,0 @@ -import scala.reflect.macros.blackbox.Context - -object Macros { - def impl[T, U](c: Context) = { import c.universe._; c.Expr[Unit](q"()") } - def foo[T, U] = macro impl[T, U] -} diff --git a/tests/untried/pos/t5692b/Test_2.scala b/tests/untried/pos/t5692b/Test_2.scala deleted file mode 100644 index 72ecd9576..000000000 --- a/tests/untried/pos/t5692b/Test_2.scala +++ /dev/null @@ -1,3 +0,0 @@ -class Test { - def x = Macros.foo -} diff --git a/tests/untried/pos/t5706.flags b/tests/untried/pos/t5706.flags deleted file mode 100644 index cd66464f2..000000000 --- a/tests/untried/pos/t5706.flags +++ /dev/null @@ -1 +0,0 @@ --language:experimental.macros
\ No newline at end of file diff --git a/tests/untried/pos/t5706.scala b/tests/untried/pos/t5706.scala deleted file mode 100644 index 6f0207366..000000000 --- a/tests/untried/pos/t5706.scala +++ /dev/null @@ -1,15 +0,0 @@ -import scala.reflect.macros.blackbox.{Context => BlackboxContext} -import scala.reflect.macros.whitebox.{Context => WhiteboxContext} - -class Logger { - def error1(message: String) = macro Impls.error1 - def error2(message: String) = macro Impls.error2 -} - -object Impls { - type LoggerContext1 = BlackboxContext { type PrefixType = Logger } - def error1(c: LoggerContext1)(message: c.Expr[String]): c.Expr[Unit] = ??? - - type LoggerContext2 = WhiteboxContext { type PrefixType = Logger } - def error2(c: LoggerContext2)(message: c.Expr[String]): c.Expr[Unit] = ??? -} diff --git a/tests/untried/pos/t5720-ownerous.scala b/tests/untried/pos/t5720-ownerous.scala deleted file mode 100644 index e171ce9c2..000000000 --- a/tests/untried/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/untried/pos/t5726.scala b/tests/untried/pos/t5726.scala deleted file mode 100644 index 1ef14ac79..000000000 --- a/tests/untried/pos/t5726.scala +++ /dev/null @@ -1,17 +0,0 @@ -import scala.language.dynamics - -class DynamicTest extends Dynamic { - def selectDynamic(name: String) = s"value of $name" - def updateDynamic(name: String)(value: Any): Unit = { - println(s"You have just updated property '$name' with value: $value") - } -} - -object MyApp extends App { - def testing(): Unit = { - val test = new DynamicTest - test.firstName = "John" - } - - testing() -} diff --git a/tests/untried/pos/t5729.scala b/tests/untried/pos/t5729.scala deleted file mode 100644 index 944aa04d8..000000000 --- a/tests/untried/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/untried/pos/t573.scala b/tests/untried/pos/t573.scala deleted file mode 100644 index 694d001e3..000000000 --- a/tests/untried/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/untried/pos/t5744/Macros_1.scala b/tests/untried/pos/t5744/Macros_1.scala deleted file mode 100644 index 11da37f17..000000000 --- a/tests/untried/pos/t5744/Macros_1.scala +++ /dev/null @@ -1,22 +0,0 @@ -import scala.language.experimental.macros -import scala.reflect.macros.blackbox.Context - -object Macros { - def foo[U: Numeric](x: U) = macro foo_impl[U] - def bar[U: Numeric : Equiv, Y <% String](x: U)(implicit s: String) = macro bar_impl[U, Y] - - def foo_impl[U](c: Context)(x: c.Expr[U])(numeric: c.Expr[Numeric[U]]) = { - import c.universe._ - val plusOne = Apply(Select(numeric.tree, newTermName("plus")), List(x.tree, Literal(Constant(1)))) - val body = Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(plusOne)) - c.Expr[Unit](body) - } - - def bar_impl[U, Y](c: Context)(x: c.Expr[U])(numeric: c.Expr[Numeric[U]], equiv: c.Expr[Equiv[U]], viewAsString: c.Expr[Y => String], s: c.Expr[String]) = { - import c.universe._ - val plusOne = Apply(Select(numeric.tree, newTermName("plus")), List(x.tree, Literal(Constant(1)))) - val plusLen = Apply(Select(numeric.tree, newTermName("plus")), List(plusOne, Select(s.tree, newTermName("length")))) - val body = Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(plusLen)) - c.Expr[Unit](body) - } -} diff --git a/tests/untried/pos/t5744/Test_2.scala b/tests/untried/pos/t5744/Test_2.scala deleted file mode 100644 index dc3de03e4..000000000 --- a/tests/untried/pos/t5744/Test_2.scala +++ /dev/null @@ -1,6 +0,0 @@ -object Test extends App { - import Macros._ - foo(42) - implicit val s = "" - bar(43) -} diff --git a/tests/untried/pos/t5756.scala b/tests/untried/pos/t5756.scala deleted file mode 100644 index 411f5b05d..000000000 --- a/tests/untried/pos/t5756.scala +++ /dev/null @@ -1,6 +0,0 @@ -import scala.reflect.runtime.universe._ - -object Test extends App { - def tagme[T: TypeTag](x: T) = typeTag[T] - val foo = tagme{object Bar; Bar} -} diff --git a/tests/untried/pos/t5760-pkgobj-warn/stalepkg_1.scala b/tests/untried/pos/t5760-pkgobj-warn/stalepkg_1.scala deleted file mode 100644 index a0256f633..000000000 --- a/tests/untried/pos/t5760-pkgobj-warn/stalepkg_1.scala +++ /dev/null @@ -1,11 +0,0 @@ - -package object stalepkg { - class Foo -} - -package stalepkg { - object Test { - def main(args: Array[String]): Unit = { - } - } -} diff --git a/tests/untried/pos/t5760-pkgobj-warn/stalepkg_2.scala b/tests/untried/pos/t5760-pkgobj-warn/stalepkg_2.scala deleted file mode 100644 index 924bf35fa..000000000 --- a/tests/untried/pos/t5760-pkgobj-warn/stalepkg_2.scala +++ /dev/null @@ -1,11 +0,0 @@ - -package object stalepkg { -} - -package stalepkg { - class Foo - object Test { - def main(args: Array[String]): Unit = { - } - } -} diff --git a/tests/untried/pos/t5769.scala b/tests/untried/pos/t5769.scala deleted file mode 100644 index d7ec23a56..000000000 --- a/tests/untried/pos/t5769.scala +++ /dev/null @@ -1,9 +0,0 @@ -// a.scala -import scala.reflect.{ClassTag, classTag} - -class A { - type AI = Array[Int] - - def f1 = classTag[Array[Int]] - def f2 = classTag[AI] -} diff --git a/tests/untried/pos/t5777.scala b/tests/untried/pos/t5777.scala deleted file mode 100644 index 24cea3616..000000000 --- a/tests/untried/pos/t5777.scala +++ /dev/null @@ -1,45 +0,0 @@ -// /scala/trac/5777/a.scala -// Wed May 9 08:44:57 PDT 2012 - -trait Ring { - trait E -} - -class Poly[C <: Ring](val ring: C) extends Ring -// This definition of Poly triggers the same failure on *both* versions -// class Poly(val ring: Ring) extends Ring - -object BigInt extends Ring - -object MyApp { - val r = new Poly(BigInt) - - implicitly[r.ring.E <:< BigInt.E] - - // fail on 2.10, works on 2.9.2 - (null.asInstanceOf[BigInt.E] : r.ring.E) - - // works on both versions - val r1 = new Poly[BigInt.type](BigInt) - (null.asInstanceOf[BigInt.E] : r1.ring.E) - - // Oddly, -Xprint:typer reports that r and r1 have the same inferred type. - // - // private[this] val r: Poly[BigInt.type] = new Poly[BigInt.type](BigInt); - // <stable> <accessor> def r: Poly[BigInt.type] = MyApp.this.r; - // (null.asInstanceOf[BigInt.E]: MyApp.r.ring.E); - // private[this] val r1: Poly[BigInt.type] = new Poly[BigInt.type](BigInt); - // <stable> <accessor> def r1: Poly[BigInt.type] = MyApp.this.r1; - // (null.asInstanceOf[BigInt.E]: MyApp.r1.ring.E) - - // diff typer-2.9.2.txt typer-2.10.txt - // ... - // --- - // > object MyApp extends scala.AnyRef { - // > def <init>(): MyApp.type = { - // > MyApp.super.<init>(); - // 30c30 - // < scala.this.Predef.implicitly[<:<[BigInt.E,MyApp.r.ring.E]](scala.this.Predef.conforms[BigInt.E]); - // --- - // > scala.this.Predef.implicitly[<:<[BigInt.E,MyApp.r.ring.E]](); -} diff --git a/tests/untried/pos/t578.scala b/tests/untried/pos/t578.scala deleted file mode 100644 index 6f95dd8ce..000000000 --- a/tests/untried/pos/t578.scala +++ /dev/null @@ -1,7 +0,0 @@ -object Test { - val x = Nil - val x2: Nil.type = x - val y = None - val y2: None.type = y - Console.println("Okay") -} diff --git a/tests/untried/pos/t5845.scala b/tests/untried/pos/t5845.scala deleted file mode 100644 index 823c722c1..000000000 --- a/tests/untried/pos/t5845.scala +++ /dev/null @@ -1,16 +0,0 @@ -class Num[T] { - def mkOps = new Ops - class Ops { def +++(rhs: 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) -} - -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] {} - println(5 +++ 5) -} diff --git a/tests/untried/pos/t5859.scala b/tests/untried/pos/t5859.scala deleted file mode 100644 index 2a31e68ee..000000000 --- a/tests/untried/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/untried/pos/t5877.scala b/tests/untried/pos/t5877.scala deleted file mode 100644 index 939013cd0..000000000 --- a/tests/untried/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/untried/pos/t5877b.scala b/tests/untried/pos/t5877b.scala deleted file mode 100644 index 43a2ea2f0..000000000 --- a/tests/untried/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/untried/pos/t5899.flags b/tests/untried/pos/t5899.flags deleted file mode 100644 index e8fb65d50..000000000 --- a/tests/untried/pos/t5899.flags +++ /dev/null @@ -1 +0,0 @@ --Xfatal-warnings
\ No newline at end of file diff --git a/tests/untried/pos/t5899.scala b/tests/untried/pos/t5899.scala deleted file mode 100644 index 852b4e3e7..000000000 --- a/tests/untried/pos/t5899.scala +++ /dev/null @@ -1,19 +0,0 @@ -import scala.tools.nsc._ - -trait Foo { - val global: Global - import global.{Name, Symbol, nme} - - case class Bippy(name: Name) - - def f(x: Bippy, sym: Symbol): Int = { - // no warning (!) for - // val Stable = sym.name.toTermName - - val Stable = sym.name - Bippy(Stable) match { - case Bippy(nme.WILDCARD) => 1 - case Bippy(Stable) => 2 // should not be considered unreachable - } - } -} diff --git a/tests/untried/pos/t5900a.scala b/tests/untried/pos/t5900a.scala deleted file mode 100644 index cb02f67fb..000000000 --- a/tests/untried/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/untried/pos/t5932.flags b/tests/untried/pos/t5932.flags deleted file mode 100644 index e8fb65d50..000000000 --- a/tests/untried/pos/t5932.flags +++ /dev/null @@ -1 +0,0 @@ --Xfatal-warnings
\ No newline at end of file diff --git a/tests/untried/pos/t5932.scala b/tests/untried/pos/t5932.scala deleted file mode 100644 index d824523d5..000000000 --- a/tests/untried/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/untried/pos/t5953.scala b/tests/untried/pos/t5953.scala deleted file mode 100644 index 7ba035ec3..000000000 --- a/tests/untried/pos/t5953.scala +++ /dev/null @@ -1,16 +0,0 @@ -import scala.collection.{ mutable, immutable, generic, GenTraversableOnce } - -package object foo { - @inline implicit class TravOps[A, CC[A] <: GenTraversableOnce[A]](val coll: CC[A]) extends AnyVal { - def build[CC2[X]](implicit cbf: generic.CanBuildFrom[Nothing, A, CC2[A]]): CC2[A] = { - cbf() ++= coll.toIterator result - } - } -} - -package foo { - object Test { - def f1[T](xs: Traversable[T]) = xs.to[immutable.Vector] - def f2[T](xs: Traversable[T]) = xs.build[immutable.Vector] - } -} diff --git a/tests/untried/pos/t5954a/A_1.scala b/tests/untried/pos/t5954a/A_1.scala deleted file mode 100644 index 10ead0b1c..000000000 --- a/tests/untried/pos/t5954a/A_1.scala +++ /dev/null @@ -1,6 +0,0 @@ -package p1 { - object `package` { - implicit class Foo(a: Any) - object Foo - } -} diff --git a/tests/untried/pos/t5954a/B_2.scala b/tests/untried/pos/t5954a/B_2.scala deleted file mode 100644 index 10ead0b1c..000000000 --- a/tests/untried/pos/t5954a/B_2.scala +++ /dev/null @@ -1,6 +0,0 @@ -package p1 { - object `package` { - implicit class Foo(a: Any) - object Foo - } -} diff --git a/tests/untried/pos/t5954b/A_1.scala b/tests/untried/pos/t5954b/A_1.scala deleted file mode 100644 index 8465e8f8c..000000000 --- a/tests/untried/pos/t5954b/A_1.scala +++ /dev/null @@ -1,6 +0,0 @@ -package p { - package object base { - class B - object B - } -} diff --git a/tests/untried/pos/t5954b/B_2.scala b/tests/untried/pos/t5954b/B_2.scala deleted file mode 100644 index f7e4704b3..000000000 --- a/tests/untried/pos/t5954b/B_2.scala +++ /dev/null @@ -1,5 +0,0 @@ -package p { - package object base { - case class B() - } -} diff --git a/tests/untried/pos/t5954c/A_1.scala b/tests/untried/pos/t5954c/A_1.scala deleted file mode 100644 index 29ad9547a..000000000 --- a/tests/untried/pos/t5954c/A_1.scala +++ /dev/null @@ -1,18 +0,0 @@ -package object A { - // these used to should be prevented by the implementation restriction - // but are now allowed - class B - object B - trait C - object C - case class D() - // all the rest of these should be ok - class E - object F - val g = "omg" - var h = "wtf" - def i = "lol" - type j = String - class K(val k : Int) extends AnyVal - implicit class L(val l : Int) -} diff --git a/tests/untried/pos/t5954c/B_2.scala b/tests/untried/pos/t5954c/B_2.scala deleted file mode 100644 index 29ad9547a..000000000 --- a/tests/untried/pos/t5954c/B_2.scala +++ /dev/null @@ -1,18 +0,0 @@ -package object A { - // these used to should be prevented by the implementation restriction - // but are now allowed - class B - object B - trait C - object C - case class D() - // all the rest of these should be ok - class E - object F - val g = "omg" - var h = "wtf" - def i = "lol" - type j = String - class K(val k : Int) extends AnyVal - implicit class L(val l : Int) -} diff --git a/tests/untried/pos/t5954d/A_1.scala b/tests/untried/pos/t5954d/A_1.scala deleted file mode 100644 index 8465e8f8c..000000000 --- a/tests/untried/pos/t5954d/A_1.scala +++ /dev/null @@ -1,6 +0,0 @@ -package p { - package object base { - class B - object B - } -} diff --git a/tests/untried/pos/t5954d/B_2.scala b/tests/untried/pos/t5954d/B_2.scala deleted file mode 100644 index a4aa2eb58..000000000 --- a/tests/untried/pos/t5954d/B_2.scala +++ /dev/null @@ -1,7 +0,0 @@ -package p { - trait T { - class B - object B - } - package object base extends T -} diff --git a/tests/untried/pos/t596.scala b/tests/untried/pos/t596.scala deleted file mode 100644 index b1b5471b2..000000000 --- a/tests/untried/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/untried/pos/t5967.scala b/tests/untried/pos/t5967.scala deleted file mode 100644 index eb9bd6dfa..000000000 --- a/tests/untried/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/untried/pos/t6014.scala b/tests/untried/pos/t6014.scala deleted file mode 100644 index 26e258a27..000000000 --- a/tests/untried/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/untried/pos/t602.scala b/tests/untried/pos/t602.scala deleted file mode 100644 index 18dd40564..000000000 --- a/tests/untried/pos/t602.scala +++ /dev/null @@ -1,14 +0,0 @@ -package com.mosol.sl - -case class Span[K <: Ordered[K]](low: Option[K], high: Option[K]) extends Function1[K, Boolean] { - override def equals(x$1: Any): Boolean = x$1 match { - case Span((low$0 @ _), (high$0 @ _)) if low$0.equals(low).$amp$amp(high$0.equals(high)) => true - case _ => false - } - def apply(k: K): Boolean = this match { - case Span(Some(low), Some(high)) => (k >= low && k <= high) - case Span(Some(low), None) => (k >= low) - case Span(None, Some(high)) => (k <= high) - case _ => false - } -} diff --git a/tests/untried/pos/t604.scala b/tests/untried/pos/t604.scala deleted file mode 100644 index fb90d5ae3..000000000 --- a/tests/untried/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/untried/pos/t6047.flags b/tests/untried/pos/t6047.flags deleted file mode 100644 index cd66464f2..000000000 --- a/tests/untried/pos/t6047.flags +++ /dev/null @@ -1 +0,0 @@ --language:experimental.macros
\ No newline at end of file diff --git a/tests/untried/pos/t6047.scala b/tests/untried/pos/t6047.scala deleted file mode 100644 index e7d0c38c6..000000000 --- a/tests/untried/pos/t6047.scala +++ /dev/null @@ -1,20 +0,0 @@ -import scala.reflect.macros.blackbox.Context -import java.io.InputStream - -object Macros { - def unpack[A](input: InputStream): A = macro unpack_impl[A] - - def unpack_impl[A: c.WeakTypeTag](c: Context)(input: c.Expr[InputStream]): c.Expr[A] = { - import c.universe._ - - def unpackcode(tpe: c.Type): c.Expr[_] = { - if (tpe <:< implicitly[c.WeakTypeTag[Traversable[_]]].tpe) { - - } - ??? - } - - unpackcode(implicitly[c.WeakTypeTag[A]].tpe) - ??? - } - } diff --git a/tests/untried/pos/t6084.scala b/tests/untried/pos/t6084.scala deleted file mode 100644 index 1aa1fed39..000000000 --- a/tests/untried/pos/t6084.scala +++ /dev/null @@ -1,15 +0,0 @@ -package object foo { type X[T, U] = (T => U) } - -package foo { - abstract class Foo[T, U](val d: T => U) extends (T => U) { - def f1(r: X[T, U]) = r match { case x: Foo[_,_] => x.d } // inferred ok - def f2(r: X[T, U]): (T => U) = r match { case x: Foo[_,_] => x.d } // dealiased ok - def f3(r: X[T, U]): X[T, U] = r match { case x: Foo[_,_] => x.d } // alias not ok - - // x.d : foo.this.package.type.X[?scala.reflect.internal.Types$NoPrefix$?.T, ?scala.reflect.internal.Types$NoPrefix$?.U] ~>scala.this.Function1[?scala.reflect.internal.Types$NoPrefix$?.T, ?scala.reflect.internal.Types$NoPrefix$?.U] - // at scala.Predef$.assert(Predef.scala:170) - // at scala.tools.nsc.Global.assert(Global.scala:235) - // at scala.tools.nsc.ast.TreeGen.mkCast(TreeGen.scala:252) - // at scala.tools.nsc.typechecker.Typers$Typer.typedCase(Typers.scala:2263) - } -} diff --git a/tests/untried/pos/t6089b.scala b/tests/untried/pos/t6089b.scala deleted file mode 100644 index 9378a74a0..000000000 --- a/tests/untried/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/untried/pos/t6117.scala b/tests/untried/pos/t6117.scala deleted file mode 100644 index 6aca84f72..000000000 --- a/tests/untried/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/untried/pos/t6123-explaintypes-implicits.flags b/tests/untried/pos/t6123-explaintypes-implicits.flags deleted file mode 100644 index b36707c7c..000000000 --- a/tests/untried/pos/t6123-explaintypes-implicits.flags +++ /dev/null @@ -1 +0,0 @@ --explaintypes diff --git a/tests/untried/pos/t6123-explaintypes-implicits.scala b/tests/untried/pos/t6123-explaintypes-implicits.scala deleted file mode 100644 index 86f522728..000000000 --- a/tests/untried/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/untried/pos/t6145.scala b/tests/untried/pos/t6145.scala deleted file mode 100644 index 4161a24b5..000000000 --- a/tests/untried/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/untried/pos/t6169/Exist.java b/tests/untried/pos/t6169/Exist.java deleted file mode 100644 index dfc6b36b3..000000000 --- a/tests/untried/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/untried/pos/t6169/ExistF.java b/tests/untried/pos/t6169/ExistF.java deleted file mode 100644 index 70fabd74c..000000000 --- a/tests/untried/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/untried/pos/t6169/ExistIndir.java b/tests/untried/pos/t6169/ExistIndir.java deleted file mode 100644 index e66d1698c..000000000 --- a/tests/untried/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/untried/pos/t6169/OP.java b/tests/untried/pos/t6169/OP.java deleted file mode 100644 index 15e4c5640..000000000 --- a/tests/untried/pos/t6169/OP.java +++ /dev/null @@ -1 +0,0 @@ -public abstract class OP<T> { } diff --git a/tests/untried/pos/t6169/Skin.java b/tests/untried/pos/t6169/Skin.java deleted file mode 100644 index 780de1ee0..000000000 --- a/tests/untried/pos/t6169/Skin.java +++ /dev/null @@ -1 +0,0 @@ -public interface Skin<C extends Skinnable> { } diff --git a/tests/untried/pos/t6169/Skinnable.java b/tests/untried/pos/t6169/Skinnable.java deleted file mode 100644 index f91eaa30d..000000000 --- a/tests/untried/pos/t6169/Skinnable.java +++ /dev/null @@ -1,3 +0,0 @@ -public interface Skinnable { - OP<Skin<?>> skinProperty(); -} diff --git a/tests/untried/pos/t6169/skinnable.scala b/tests/untried/pos/t6169/skinnable.scala deleted file mode 100644 index 08204f29d..000000000 --- a/tests/untried/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/untried/pos/t6169/t6169.scala b/tests/untried/pos/t6169/t6169.scala deleted file mode 100644 index 84b2d2dad..000000000 --- a/tests/untried/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/untried/pos/t6184.scala b/tests/untried/pos/t6184.scala deleted file mode 100644 index 386399963..000000000 --- a/tests/untried/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/untried/pos/t6204-a.scala b/tests/untried/pos/t6204-a.scala deleted file mode 100644 index dbc1144b4..000000000 --- a/tests/untried/pos/t6204-a.scala +++ /dev/null @@ -1,9 +0,0 @@ -import scala.reflect.runtime.universe._ - -object Bish { - def m: Unit = { - object Bash { - typeOf[Option[_]] - } - } -} diff --git a/tests/untried/pos/t6204-b.scala b/tests/untried/pos/t6204-b.scala deleted file mode 100644 index 62f2b5d5c..000000000 --- a/tests/untried/pos/t6204-b.scala +++ /dev/null @@ -1,10 +0,0 @@ -import scala.reflect.runtime.universe._ - -object Bosh { - def Besh: Unit = { - new { - val t = typeOf[Option[_]] - val x = t - } - } -} diff --git a/tests/untried/pos/t6208.scala b/tests/untried/pos/t6208.scala deleted file mode 100644 index dac571346..000000000 --- a/tests/untried/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/untried/pos/t6221.scala b/tests/untried/pos/t6221.scala deleted file mode 100644 index bb2f1dde7..000000000 --- a/tests/untried/pos/t6221.scala +++ /dev/null @@ -1,33 +0,0 @@ -class MyFunc[-A, +B] extends (A => B) { def apply(x: A): B = ??? } - -class MyCollection[A] { - def map[B](f: MyFunc[A, B]): MyCollection[B] = new MyCollection[B] -} - -class OtherFunc[-A, +B] {} - -object Test { - implicit def functionToMyFunc[A, B](f: A => B): MyFunc[A, B] = new MyFunc // = new MyFunc[A,Nothing](); - - implicit def otherFuncToMyFunc[A, B](f: OtherFunc[A, B]): MyFunc[A, B] = new MyFunc // = new MyFunc[A,Nothing](); - - def main(args: Array[String]): Unit = { - val col = new MyCollection[Int] - - // Doesn't compile: error: missing parameter type for expanded function ((x$1) => x$1.toString) - println(col.map(_.toString)) - // scala.this.Predef.println(col.map[String](Test.this.functionToMyFunc[Int, String](((x$1: Int) => x$1.toString())))); - - // Doesn't compile: error: missing parameter type - println(col.map(x => x.toString)) - // scala.this.Predef.println(col.map[String](Test.this.functionToMyFunc[Int, String](((x: Int) => x.toString())))); - - // Does compile - println(col.map((x: Int) => x.toString)) - // scala.this.Predef.println(col.map[String](Test.this.functionToMyFunc[Int, String](((x: Int) => x.toString())))); - - // Does compile (even though type params of OtherFunc not given) - println(col.map(new OtherFunc)) - // scala.this.Predef.println(col.map[Nothing](Test.this.otherFuncToMyFunc[Any, Nothing](new OtherFunc[Any,Nothing]()))) - } -} diff --git a/tests/untried/pos/t6225.scala b/tests/untried/pos/t6225.scala deleted file mode 100644 index d3d30d9e1..000000000 --- a/tests/untried/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/untried/pos/t6231.scala b/tests/untried/pos/t6231.scala deleted file mode 100644 index 1e5b4e0e1..000000000 --- a/tests/untried/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/untried/pos/t6231b.scala b/tests/untried/pos/t6231b.scala deleted file mode 100644 index b4ddfe785..000000000 --- a/tests/untried/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/untried/pos/t6260a.scala b/tests/untried/pos/t6260a.scala deleted file mode 100644 index 194294e98..000000000 --- a/tests/untried/pos/t6260a.scala +++ /dev/null @@ -1,15 +0,0 @@ -final class Option[+A](val value: A) extends AnyVal - -// Was: sandbox/test.scala:21: error: bridge generated for member method f: ()Option[A] in class Bar -// which overrides method f: ()Option[A] in class Foo" -abstract class Foo[A] { def f(): Option[A] } - class Bar[A] extends Foo[A] { def f(): Option[A] = ??? } - -// User reported this as erroneous but I couldn't reproduce with 2.10.{0,1,2,3} -// https://issues.scala-lang.org/browse/SI-6260?focusedCommentId=64764&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-64764 -// I suspect he whittled down the example too far. -class Wrapper(val value: Int) extends AnyVal -abstract class Test { def check(the: Wrapper): Boolean } -object T { - new Test { def check(the: Wrapper) = true } -} diff --git a/tests/untried/pos/t6335.scala b/tests/untried/pos/t6335.scala deleted file mode 100644 index 50e34092d..000000000 --- a/tests/untried/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/untried/pos/t6355pos.scala b/tests/untried/pos/t6355pos.scala deleted file mode 100644 index c0e740dd6..000000000 --- a/tests/untried/pos/t6355pos.scala +++ /dev/null @@ -1,16 +0,0 @@ -import scala.language.dynamics - -class A extends Dynamic { - def applyDynamic[T1](method: String)(x1: T1): Any = 1 - def applyDynamic[T1, T2](method: String)(x: T1, y: T2): Any = 2 - def applyDynamic[T1, T2, T3](method: String)(x: T1, y: T2, z: T3): Any = 3 -} - -object Test { - def main(args: Array[String]): Unit = { - val x = new A - println(x[Int](5)) - println(x[Int, String](5, "a")) - println(x[Int, String, Int](5, "a", 5)) - } -} diff --git a/tests/untried/pos/t6367.scala b/tests/untried/pos/t6367.scala deleted file mode 100644 index 1214be741..000000000 --- a/tests/untried/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/untried/pos/t6386.scala b/tests/untried/pos/t6386.scala deleted file mode 100644 index 4031ae267..000000000 --- a/tests/untried/pos/t6386.scala +++ /dev/null @@ -1,5 +0,0 @@ -import scala.reflect.runtime.universe._ - -object Test extends App { - reify(manifest[Some[_]]) -} diff --git a/tests/untried/pos/t6447.scala b/tests/untried/pos/t6447.scala deleted file mode 100644 index 6ef69d485..000000000 --- a/tests/untried/pos/t6447.scala +++ /dev/null @@ -1,18 +0,0 @@ -import scala.language.experimental.macros -import scala.reflect.macros.blackbox.Context - -class X { type T } - -object X { - // this works - def foo(x: X): x.T = macro fooImpl - def fooImpl(c: Context)(x: c.Expr[X]): c.Expr[x.value.T] = ??? - - // this doesn't - def bar(x: X, y: X): (x.T, y.T) = macro barImpl - def barImpl(c: Context)(x: c.Expr[X], y: c.Expr[X]): c.Expr[(x.value.T, y.value.T)] = ??? - - // neither does this - def baz(x: X)(xs: List[x.T]): Unit = macro bazImpl - def bazImpl(c: Context)(x: c.Expr[X])(xs: c.Expr[List[x.value.T]]): c.Expr[Unit] = ??? -} diff --git a/tests/untried/pos/t6482.scala b/tests/untried/pos/t6482.scala deleted file mode 100644 index 24ea38e51..000000000 --- a/tests/untried/pos/t6482.scala +++ /dev/null @@ -1,11 +0,0 @@ -final class TraversableOnceOps[+A](val collection: TraversableOnce[A]) extends AnyVal { - def reduceLeftOption[B >: A](op: (B, A) => B): Option[B] = - if (collection.isEmpty) None else Some(collection.reduceLeft[B](op)) -} -// error: type arguments [B] do not conform to method reduceLeft's type parameter bounds [B >: A] -// if (collection.isEmpty) None else Some(collection.reduceLeft[B](op)) -// ^ - -class Foo[+A <: AnyRef](val xs: List[A]) extends AnyVal { - def baz[B >: A](x: B): List[B] = x :: xs -} diff --git a/tests/untried/pos/t6485a/Macros_1.scala b/tests/untried/pos/t6485a/Macros_1.scala deleted file mode 100644 index cc7dc3d3e..000000000 --- a/tests/untried/pos/t6485a/Macros_1.scala +++ /dev/null @@ -1,5 +0,0 @@ -import scala.reflect.macros.blackbox.Context - -object Macros { - def crash(c: Context): c.Expr[Unit] = c.universe.reify(()) -} diff --git a/tests/untried/pos/t6485a/Test_2.scala b/tests/untried/pos/t6485a/Test_2.scala deleted file mode 100644 index 54e260ac7..000000000 --- a/tests/untried/pos/t6485a/Test_2.scala +++ /dev/null @@ -1,5 +0,0 @@ -import scala.language.experimental.macros - -final class Ops[T](val x: T) extends AnyVal { - def f = macro Macros.crash -} diff --git a/tests/untried/pos/t6485b/Test.scala b/tests/untried/pos/t6485b/Test.scala deleted file mode 100644 index 46d707073..000000000 --- a/tests/untried/pos/t6485b/Test.scala +++ /dev/null @@ -1,10 +0,0 @@ -import scala.language.experimental.macros -import scala.reflect.macros.blackbox.Context - -final class Ops[T](val x: T) extends AnyVal { - def f = macro Macros.crash -} - -object Macros { - def crash(c: Context): c.Expr[Unit] = c.universe.reify(()) -} diff --git a/tests/untried/pos/t6516.scala b/tests/untried/pos/t6516.scala deleted file mode 100644 index 2980d83eb..000000000 --- a/tests/untried/pos/t6516.scala +++ /dev/null @@ -1,19 +0,0 @@ -import scala.language.experimental.macros -import scala.reflect.macros.blackbox.Context -import scala.collection.TraversableLike - -// This one compiles -object Test { - type Alias[T, CC[_]] = Context { type PrefixType = TraversableLike[T, CC[T]] } - def f() = macro f_impl - def f_impl(c: Alias[Int, List])() = ??? -} - -// This one doesn't -object Test2 { - type Ctx = scala.reflect.macros.blackbox.Context - type Alias[T, CC[_]] = Ctx { type PrefixType = TraversableLike[T, CC[T]] } - - def f() = macro f_impl - def f_impl(c: Alias[Int, List])() = ??? -} diff --git a/tests/untried/pos/t6575a.scala b/tests/untried/pos/t6575a.scala deleted file mode 100644 index f128714da..000000000 --- a/tests/untried/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/untried/pos/t6600.scala b/tests/untried/pos/t6600.scala deleted file mode 100644 index 1e8137894..000000000 --- a/tests/untried/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/untried/pos/t661.scala b/tests/untried/pos/t661.scala deleted file mode 100644 index 3a447241f..000000000 --- a/tests/untried/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/untried/pos/t6664b.scala b/tests/untried/pos/t6664b.scala deleted file mode 100644 index a62286683..000000000 --- a/tests/untried/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/untried/pos/t6722.scala b/tests/untried/pos/t6722.scala deleted file mode 100644 index 576746c91..000000000 --- a/tests/untried/pos/t6722.scala +++ /dev/null @@ -1,11 +0,0 @@ -import scala.language.dynamics - -class Dyn extends Dynamic { - def selectDynamic(s: String): Dyn = new Dyn - def get[T]: T = null.asInstanceOf[T] -} - -object Foo { - val dyn = new Dyn - dyn.foo.bar.baz.get[String] -} diff --git a/tests/untried/pos/t6815_import.scala b/tests/untried/pos/t6815_import.scala deleted file mode 100644 index 56f4358d5..000000000 --- a/tests/untried/pos/t6815_import.scala +++ /dev/null @@ -1,16 +0,0 @@ -trait U { - trait ValOrDefDefApi { - def name: Any - } - type ValOrDefDef <: ValOrDefDefApi - type ValDef <: ValOrDefDef with ValDefApi - trait ValDefApi extends ValOrDefDefApi { this: ValDef => } - val emptyValDef: ValDef // the result type is volatile -} - -object Test { - val u: U = ??? - - // but we shouldn't let that stop us from treating it as a stable identifier for import - import u.emptyValDef.name -} diff --git a/tests/untried/pos/t6846.scala b/tests/untried/pos/t6846.scala deleted file mode 100644 index 2536e725c..000000000 --- a/tests/untried/pos/t6846.scala +++ /dev/null @@ -1,28 +0,0 @@ -object Test { - class Arb[X_909538798] - implicit def foo[M[_], A]: Arb[M[A]] = null - foo: Arb[List[Int]] - type ListInt = List[Int] - foo: Arb[ListInt] -} - -object Test2 { - import scala.collection.immutable.List - - class Carb[X_1647473379] - implicit def narrow[N, M[_], A](x: Carb[M[A]])(implicit ev: N <:< M[A]): Carb[N] = null - implicit def bar[M[_], A]: Carb[M[A]] = null - - type ListInt = List[Int] - - val x: List[Int] = List(1) - val y: ListInt = List(1) - - type ListSingletonX = x.type - type ListSingletonY = y.type - - bar: Carb[List[Int]] - bar: Carb[ListInt] - bar: Carb[ListSingletonX] - bar: Carb[ListSingletonY] -} diff --git a/tests/untried/pos/t6925.scala b/tests/untried/pos/t6925.scala deleted file mode 100644 index c6f418519..000000000 --- a/tests/untried/pos/t6925.scala +++ /dev/null @@ -1,9 +0,0 @@ -class Test { - def f[T](xs: Set[T]) /* no expected type to trigger inference */ = - xs collect { case x => x } - - def g[T](xs: Set[T]): Set[T] = f[T](xs) // check that f's inferred type is Set[T] - - // check that this type checks: - List(1).flatMap(n => Set(1).collect { case w => w }) -} diff --git a/tests/untried/pos/t694.scala b/tests/untried/pos/t694.scala deleted file mode 100644 index ebabc658c..000000000 --- a/tests/untried/pos/t694.scala +++ /dev/null @@ -1,10 +0,0 @@ -object test3 { - trait Type[T]; - case object IntType extends Type[Int]; - case object StringType extends Type[String]; - - def f[T](t : Type[T]) : T = t match { - case IntType => 10; - case StringType => "hello"; - } -} diff --git a/tests/untried/pos/t6948.scala b/tests/untried/pos/t6948.scala deleted file mode 100644 index 12a1d7eaf..000000000 --- a/tests/untried/pos/t6948.scala +++ /dev/null @@ -1,10 +0,0 @@ -object t6948 { - val rand = new scala.util.Random() - def a1 = rand.shuffle(0 to 5) - // Tis not to be - // def a2 = rand.shuffle(0 until 5) - def a3 = rand.shuffle(Vector(1, 2, 3)) - def a4 = rand.shuffle(scala.collection.Seq(1, 2, 3)) - def a5 = rand.shuffle(scala.collection.immutable.Seq(1, 2, 3)) - def a6 = rand.shuffle(scala.collection.mutable.Seq(1, 2, 3)) -} diff --git a/tests/untried/pos/t6966.scala b/tests/untried/pos/t6966.scala deleted file mode 100644 index a43d7c501..000000000 --- a/tests/untried/pos/t6966.scala +++ /dev/null @@ -1,17 +0,0 @@ -import Ordering.{Byte, comparatorToOrdering} -trait Format[T] -trait InputCache[T] -object CacheIvy { - implicit def basicInputCache[I](implicit fmt: Format[I], eqv: Equiv[I]): InputCache[I] = null - implicit def arrEquiv[T](implicit t: Equiv[T]): Equiv[Array[T]] = null - implicit def hNilCache: InputCache[HNil] = null - implicit def ByteArrayFormat: Format[Array[Byte]] = null - type :+:[H, T <: HList] = HCons[H,T] - implicit def hConsCache[H, T <: HList](implicit head: InputCache[H], tail: InputCache[T]): InputCache[H :+: T] = null - hConsCache[Array[Byte], HNil] -} - -sealed trait HList -sealed trait HNil extends HList -object HNil extends HNil -final class HCons[H, T <: HList](head : H, tail : T) extends HList diff --git a/tests/untried/pos/t697.scala b/tests/untried/pos/t697.scala deleted file mode 100644 index 6caea418d..000000000 --- a/tests/untried/pos/t697.scala +++ /dev/null @@ -1,3 +0,0 @@ -object test { - val x = 10 == 20 == 30 < 10; -} diff --git a/tests/untried/pos/t6976/Exts_1.scala b/tests/untried/pos/t6976/Exts_1.scala deleted file mode 100644 index 9b3a69edd..000000000 --- a/tests/untried/pos/t6976/Exts_1.scala +++ /dev/null @@ -1,10 +0,0 @@ -object Exts { - implicit class AnyExts[T](val o: T) extends AnyVal { - def moo = "moo!" - } -} - -trait Exts { - import language.implicitConversions - implicit def AnyExts[T](o: T) = Exts.AnyExts(o) -} diff --git a/tests/untried/pos/t6976/ImplicitBug_1.scala b/tests/untried/pos/t6976/ImplicitBug_1.scala deleted file mode 100644 index 50bc247ac..000000000 --- a/tests/untried/pos/t6976/ImplicitBug_1.scala +++ /dev/null @@ -1,27 +0,0 @@ -// This one is weird and nasty. Not sure if this is scalac or sbt -// (tried with 0.12 & 0.12.2-RC2) bug. -// -// A level of indirection is required to trigger this bug. -// Exts seems to need to be defined in separate file. -// -// Steps to reproduce: -// 1. sbt clean -// 2. sbt run (it works) -// 3. Comment A & uncomment B. -// 4. sbt run (it fails) -// 5. Switch it back & sbt run. It still fails. -// -// In this project sbt clean helps. However in a large project where this -// bug was found compiler crashed even after doing sbt clean. The only -// way to work around this was to reference Exts object explicitly (C) in -// the source file using its implicit classes. - -// Lets suppose this is a mega-trait combining all sorts of helper -// functionality. -trait Support extends Exts - -object ImplicitsBug extends App with Support { // A -// object ImplicitsBug extends App with Exts { // B - //Exts // C) this reference helped in the large project. - println(3.moo) -} diff --git a/tests/untried/pos/t6976/ImplicitBug_2.scala b/tests/untried/pos/t6976/ImplicitBug_2.scala deleted file mode 100644 index 2fea5e299..000000000 --- a/tests/untried/pos/t6976/ImplicitBug_2.scala +++ /dev/null @@ -1,7 +0,0 @@ -trait Support extends Exts - -// object ImplicitsBug extends App with Support { // A -object ImplicitsBug extends App with Exts { // B - //Exts // C) this reference helped in the large project. - println(3.moo) -} diff --git a/tests/untried/pos/t6994.flags b/tests/untried/pos/t6994.flags deleted file mode 100644 index e8fb65d50..000000000 --- a/tests/untried/pos/t6994.flags +++ /dev/null @@ -1 +0,0 @@ --Xfatal-warnings
\ No newline at end of file diff --git a/tests/untried/pos/t6994.scala b/tests/untried/pos/t6994.scala deleted file mode 100644 index d70719642..000000000 --- a/tests/untried/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/untried/pos/t7011.flags b/tests/untried/pos/t7011.flags deleted file mode 100644 index a4c161553..000000000 --- a/tests/untried/pos/t7011.flags +++ /dev/null @@ -1 +0,0 @@ --Ydebug -Xfatal-warnings
\ No newline at end of file diff --git a/tests/untried/pos/t7011.scala b/tests/untried/pos/t7011.scala deleted file mode 100644 index 18d7aeee7..000000000 --- a/tests/untried/pos/t7011.scala +++ /dev/null @@ -1,7 +0,0 @@ -object bar { - def foo: Unit = { - lazy val x = 42 - - {()=>x} - } -} diff --git a/tests/untried/pos/t7022.scala b/tests/untried/pos/t7022.scala deleted file mode 100644 index 0609e2d25..000000000 --- a/tests/untried/pos/t7022.scala +++ /dev/null @@ -1,9 +0,0 @@ -class Catch[+T] { - def either[U >: T](body: => U): Either[Throwable, U] = ??? -} - -object Test { - implicit class RichCatch[T](val c: Catch[T]) extends AnyVal { - def validation[U >: T](u: => U): Either[Throwable, U] = c.either(u) - } -} diff --git a/tests/untried/pos/t703.scala b/tests/untried/pos/t703.scala deleted file mode 100644 index b24d70c92..000000000 --- a/tests/untried/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/untried/pos/t7035.scala b/tests/untried/pos/t7035.scala deleted file mode 100644 index f45bd0a87..000000000 --- a/tests/untried/pos/t7035.scala +++ /dev/null @@ -1,15 +0,0 @@ -case class Y(final var x: Int, final private var y: String, final val z1: Boolean, final private val z2: Any) { - - import Test.{y => someY} - List(someY.x: Int, someY.y: String, someY.z1: Boolean, someY.z2: Any) - someY.y = "" -} - -object Test { - val y = Y(0, "", true, new {}) - val unapp: Option[(Int, String, Boolean, Any)] = // was (Int, Boolean, String, Any) !! - Y.unapply(y) - - val Y(a, b, c, d) = y - List(a: Int, b: String, c: Boolean, d: Any) -} diff --git a/tests/untried/pos/t704.scala b/tests/untried/pos/t704.scala deleted file mode 100644 index aedd8c03a..000000000 --- a/tests/untried/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/untried/pos/t711.scala b/tests/untried/pos/t711.scala deleted file mode 100644 index 4dd604096..000000000 --- a/tests/untried/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/untried/pos/t7126.scala b/tests/untried/pos/t7126.scala deleted file mode 100644 index edac56d28..000000000 --- a/tests/untried/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/untried/pos/t7190.scala b/tests/untried/pos/t7190.scala deleted file mode 100644 index 449e5c83f..000000000 --- a/tests/untried/pos/t7190.scala +++ /dev/null @@ -1,26 +0,0 @@ -import scala.language.experimental.macros -import scala.reflect.macros._ - -trait A[T] { - def min[U >: T](implicit ord: Numeric[U]): T = macro A.min[T, U] -} - -object A { - def min[T: c.WeakTypeTag, U >: T: c.WeakTypeTag](c: Context)(ord: c.Expr[Numeric[U]]): c.Expr[T] = { - c.universe.reify { - ord.splice.zero.asInstanceOf[T] - } - } -} - -class B extends A[Int] { - override def min[U >: Int](implicit ord: Numeric[U]): Int = macro B.min[U] -} - -object B { - def min[U >: Int: c.WeakTypeTag](c: Context)(ord: c.Expr[Numeric[U]]): c.Expr[Int] = { - c.universe.reify { - ord.splice.zero.asInstanceOf[Int] - } - } -} diff --git a/tests/untried/pos/t7226.scala b/tests/untried/pos/t7226.scala deleted file mode 100644 index 1b7e2549c..000000000 --- a/tests/untried/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/untried/pos/t7228.scala b/tests/untried/pos/t7228.scala deleted file mode 100644 index 5d936f652..000000000 --- a/tests/untried/pos/t7228.scala +++ /dev/null @@ -1,75 +0,0 @@ -object AdaptWithWeaklyConformantType { - implicit class D(d: Double) { def double = d*2 } - - val x1: Int = 1 - var x2: Int = 2 - val x3 = 3 - var x4 = 4 - final val x5 = 5 - final var x6 = 6 - - def f1 = x1.double - def f2 = x2.double - def f3 = x3.double - def f4 = x4.double - def f5 = x5.double - def f6 = x6.double -} - -object AdaptAliasWithWeaklyConformantType { - implicit class D(d: Double) { def double = d*2 } - type T = Int - - val x1: T = 1 - var x2: T = 2 - val x3 = (3: T) - var x4 = (4: T) - final val x5 = (5: T) - final var x6 = (6: T) - - def f1 = x1.double - def f2 = x2.double - def f3 = x3.double - def f4 = x4.double - def f5 = x5.double - def f6 = x6.double -} - -object AdaptToAliasWithWeaklyConformantType { - type U = Double - implicit class D(d: U) { def double = d*2 } - - val x1: Int = 1 - var x2: Int = 2 - val x3 = (3: Int) - var x4 = (4: Int) - final val x5 = (5: Int) - final var x6 = (6: Int) - - def f1 = x1.double - def f2 = x2.double - def f3 = x3.double - def f4 = x4.double - def f5 = x5.double - def f6 = x6.double -} - -object AdaptAliasToAliasWithWeaklyConformantType { - type U = Double - type T = Int - implicit class D(d: U) { def double = d*2 } - - val x1: T = 1 - var x2: T = 2 - val x3 = (3: T) - var x4 = (4: T) - final val x5 = (5: T) - final var x6 = (6: T) - - def f1 = x1.double - def f2 = x2.double - def f3 = x3.double - def f4 = x4.double - def f5 = x5.double - def f6 = x6.double -} diff --git a/tests/untried/pos/t7232b/Foo.java b/tests/untried/pos/t7232b/Foo.java deleted file mode 100644 index 94f08d545..000000000 --- a/tests/untried/pos/t7232b/Foo.java +++ /dev/null @@ -1,8 +0,0 @@ -package pack; - -import java.util.*; - -public class Foo { - // should be pack.List. - public static List list() { throw new Error(); } -} diff --git a/tests/untried/pos/t7232b/List.java b/tests/untried/pos/t7232b/List.java deleted file mode 100644 index ce977152b..000000000 --- a/tests/untried/pos/t7232b/List.java +++ /dev/null @@ -1,5 +0,0 @@ -package pack; - -public class List { - public void packList() {} -} diff --git a/tests/untried/pos/t7232b/Test.scala b/tests/untried/pos/t7232b/Test.scala deleted file mode 100644 index 6377e26be..000000000 --- a/tests/untried/pos/t7232b/Test.scala +++ /dev/null @@ -1,5 +0,0 @@ -object Test { - import pack._ - - Foo.list().packList() -} diff --git a/tests/untried/pos/t7239.scala b/tests/untried/pos/t7239.scala deleted file mode 100644 index 16e9d00f1..000000000 --- a/tests/untried/pos/t7239.scala +++ /dev/null @@ -1,38 +0,0 @@ -object Test { - def BrokenMethod(): HasFilter[(Int, String)] = ??? - - trait HasFilter[B] { - def filter(p: B => Boolean) = ??? - } - - trait HasWithFilter { - def withFilter = ??? - } - - object addWithFilter { - trait NoImplicit - implicit def enrich(v: Any) - (implicit F0: NoImplicit): HasWithFilter = ??? - } - - BrokenMethod().withFilter(_ => true) // okay - BrokenMethod().filter(_ => true) // okay - - locally { - import addWithFilter._ - BrokenMethod().withFilter((_: (Int, String)) => true) // okay - } - - locally { - import addWithFilter._ - // adaptToMemberWithArgs sets the type of the tree `x` - // to ErrorType (while in silent mode, so the error is not - // reported. Later, when the fallback from `withFilter` - // to `filter` is attempted, the closure is taken to have - // have the type `<error> => Boolean`, which conforms to - // `(B => Boolean)`. Only later during pickling does the - // defensive check for erroneous types in the tree pick up - // the problem. - BrokenMethod().withFilter(x => true) // erroneous or inaccessible type. - } -} diff --git a/tests/untried/pos/t7285a.flags b/tests/untried/pos/t7285a.flags deleted file mode 100644 index e8fb65d50..000000000 --- a/tests/untried/pos/t7285a.flags +++ /dev/null @@ -1 +0,0 @@ --Xfatal-warnings
\ No newline at end of file diff --git a/tests/untried/pos/t7285a.scala b/tests/untried/pos/t7285a.scala deleted file mode 100644 index 34e79c741..000000000 --- a/tests/untried/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/untried/pos/t7294.scala b/tests/untried/pos/t7294.scala deleted file mode 100644 index ccac2b140..000000000 --- a/tests/untried/pos/t7294.scala +++ /dev/null @@ -1,6 +0,0 @@ -object Test { - // no fruitless warning as Tuple2 isn't (yet) final. - // The corresponding `neg` test will treat it as final - // for the purposes of these tests under -Xfuture. - (1, 2) match { case Seq() => 0; case _ => 1 } -} diff --git a/tests/untried/pos/t7296.scala b/tests/untried/pos/t7296.scala deleted file mode 100644 index 0c078d365..000000000 --- a/tests/untried/pos/t7296.scala +++ /dev/null @@ -1,6 +0,0 @@ -object Test { - type A = Int - // Emits the implementation restriction but then proceeds to crash - // when creating the Foo.unapply. - case class Foo(a: A, b: A, c: A, d: A, e: A, f: A, g: A, h: A, i: A, j: A, k: A, l: A, m: A, n: A, o: A, p: A, q: A, r: A, s: A, t: A, u: A, v: A, w: A, x: A, y: A, Z: A) -} diff --git a/tests/untried/pos/t7377/Client_2.scala b/tests/untried/pos/t7377/Client_2.scala deleted file mode 100644 index 5728956cc..000000000 --- a/tests/untried/pos/t7377/Client_2.scala +++ /dev/null @@ -1,11 +0,0 @@ -object Test { - M.noop(List(1) match { case Nil => 0; case (x::xs) => x }) - - case class Foo(a: Int) - val FooAlias: Foo.type = Foo - M.noop(Foo(0) match { case FooAlias(_) => 0 }) - - case class Bar() - val BarAlias: Bar.type = Bar - M.noop(Bar() match { case BarAlias() => 0 }) -} diff --git a/tests/untried/pos/t7377/Macro_1.scala b/tests/untried/pos/t7377/Macro_1.scala deleted file mode 100644 index b38687c8b..000000000 --- a/tests/untried/pos/t7377/Macro_1.scala +++ /dev/null @@ -1,7 +0,0 @@ -import language.experimental._ -import scala.reflect.macros.blackbox.Context - -object M { - def noopImpl[A](c: Context)(expr: c.Expr[A]): c.Expr[A] = c.Expr(c.typecheck(c.untypecheck(expr.tree))) - def noop[A](expr: A): A = macro noopImpl[A] -} diff --git a/tests/untried/pos/t7426.scala b/tests/untried/pos/t7426.scala deleted file mode 100644 index 8e42ad181..000000000 --- a/tests/untried/pos/t7426.scala +++ /dev/null @@ -1,3 +0,0 @@ -class foo(x: Any) extends annotation.StaticAnnotation - -@foo(new AnyRef { }) trait A diff --git a/tests/untried/pos/t7461/Macros_1.scala b/tests/untried/pos/t7461/Macros_1.scala deleted file mode 100644 index 74ebf5af9..000000000 --- a/tests/untried/pos/t7461/Macros_1.scala +++ /dev/null @@ -1,13 +0,0 @@ -import scala.reflect.macros.blackbox.Context -import language.experimental.macros - -object Macros { - def impl(c: Context) = { - import c.universe._ - val wut = c.typecheck(Select(Literal(Constant(10)), newTermName("$minus")), silent = true) - // println(showRaw(wut, printIds = true, printTypes = true)) - c.Expr[Unit](q"()") - } - - def foo = macro impl -} diff --git a/tests/untried/pos/t7461/Test_2.scala b/tests/untried/pos/t7461/Test_2.scala deleted file mode 100644 index 866e3dc6f..000000000 --- a/tests/untried/pos/t7461/Test_2.scala +++ /dev/null @@ -1,3 +0,0 @@ -class C { - def foo = Macros.foo -} diff --git a/tests/untried/pos/t7475a.scala b/tests/untried/pos/t7475a.scala deleted file mode 100644 index 810ce9a05..000000000 --- a/tests/untried/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/untried/pos/t7475b.scala b/tests/untried/pos/t7475b.scala deleted file mode 100644 index a34743b8b..000000000 --- a/tests/untried/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/untried/pos/t7505.scala b/tests/untried/pos/t7505.scala deleted file mode 100644 index bc8c7fad6..000000000 --- a/tests/untried/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/untried/pos/t7516/A_1.scala b/tests/untried/pos/t7516/A_1.scala deleted file mode 100644 index 3bd477dcd..000000000 --- a/tests/untried/pos/t7516/A_1.scala +++ /dev/null @@ -1,9 +0,0 @@ -import scala.reflect._,macros._, scala.language.experimental.macros - -object A { - def impl[T: c.WeakTypeTag](c: Context)(t: c.Expr[T]): c.Expr[List[T]] = { - val r = c.universe.reify { List(t.splice) } - c.Expr[List[T]]( c.untypecheck(r.tree) ) - } - def demo[T](t: T): List[T] = macro impl[T] -} diff --git a/tests/untried/pos/t7516/B_2.scala b/tests/untried/pos/t7516/B_2.scala deleted file mode 100644 index 1b8531bc8..000000000 --- a/tests/untried/pos/t7516/B_2.scala +++ /dev/null @@ -1,4 +0,0 @@ -object B { - final case class CV(p: Int = 3, g: Int = 2) - A.demo { val d = 4; CV(g = d); "a" } -} diff --git a/tests/untried/pos/t7517.scala b/tests/untried/pos/t7517.scala deleted file mode 100644 index df4f40130..000000000 --- a/tests/untried/pos/t7517.scala +++ /dev/null @@ -1,22 +0,0 @@ -trait Box[ K[A[x]] ] - -object Box { - // type constructor composition - sealed trait ∙[A[_], B[_]] { type l[T] = A[B[T]] } - - // composes type constructors inside K - type SplitBox[K[A[x]], B[x]] = Box[ ({ type l[A[x]] = K[ (A ∙ B)#l] })#l ] - - def split[ K[A[x]], B[x] ](base: Box[K]): SplitBox[K,B] = ??? - - class Composed[B[_], L[A[x]] ] { - val box: Box[L] = ??? - - type Split[ A[x] ] = L[ (A ∙ B)#l ] - val a: Box[Split] = Box.split(box) - - //Either of these work: - val a1: Box[Split] = Box.split[L,B](box) - val a2: Box[ ({ type l[A[x]] = L[ (A ∙ B)#l ] })#l ] = Box.split(box) - } -} diff --git a/tests/untried/pos/t7520.scala b/tests/untried/pos/t7520.scala deleted file mode 100644 index 747f5278e..000000000 --- a/tests/untried/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/untried/pos/t758.scala b/tests/untried/pos/t758.scala deleted file mode 100644 index 160bf3717..000000000 --- a/tests/untried/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/untried/pos/t7591/Demo.scala b/tests/untried/pos/t7591/Demo.scala deleted file mode 100644 index dd127b881..000000000 --- a/tests/untried/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/untried/pos/t762.scala b/tests/untried/pos/t762.scala deleted file mode 100644 index 76860272e..000000000 --- a/tests/untried/pos/t762.scala +++ /dev/null @@ -1,2 +0,0 @@ -trait Foo { type T } -trait Bar extends Foo { val x : Foo { type T <: Bar.this.T } = this : this.type } diff --git a/tests/untried/pos/t7649.flags b/tests/untried/pos/t7649.flags deleted file mode 100644 index fcf951d90..000000000 --- a/tests/untried/pos/t7649.flags +++ /dev/null @@ -1 +0,0 @@ --Yrangepos
\ No newline at end of file diff --git a/tests/untried/pos/t7649.scala b/tests/untried/pos/t7649.scala deleted file mode 100644 index d70dc05ea..000000000 --- a/tests/untried/pos/t7649.scala +++ /dev/null @@ -1,20 +0,0 @@ -object Test { - val c: scala.reflect.macros.blackbox.Context = ??? - import c.universe._ - reify { - // The lookup of the implicit WeakTypeTag[Any] - // was triggering an unpositioned tree. - c.Expr[Any](q"0").splice - } - - import scala.reflect.ClassTag - def ct[A: ClassTag]: Expr[A] = ??? - def tt[A: TypeTag]: Expr[A] = ??? - def wtt[A: WeakTypeTag]: Expr[A] = ??? - - reify { - ct[String].splice - tt[String].splice - wtt[String].splice - } -} diff --git a/tests/untried/pos/t7668.scala b/tests/untried/pos/t7668.scala deleted file mode 100644 index 222a13d03..000000000 --- a/tests/untried/pos/t7668.scala +++ /dev/null @@ -1,12 +0,0 @@ -trait Space { - type T - val x: T -} - -trait Extractor { - def extract(s: Space): s.T -} - -class Sub extends Extractor { - def extract(s: Space) = s.x -} diff --git a/tests/untried/pos/t767.scala b/tests/untried/pos/t767.scala deleted file mode 100644 index c3da64f1e..000000000 --- a/tests/untried/pos/t767.scala +++ /dev/null @@ -1,18 +0,0 @@ -abstract class AbsCell { - type T = Node - val init: T - private var value: T = init - def get: T = value - def set (x: T): Unit = { value = x } - - class Node { - val foo = 1 - } -} - -object inner { - def main(args: Array[String]): Unit = { - val cell = new AbsCell { val init = new Node() } - cell.set(new cell.type#T()) // nullpointer exception - } -} diff --git a/tests/untried/pos/t7688.scala b/tests/untried/pos/t7688.scala deleted file mode 100644 index 5a846b97e..000000000 --- a/tests/untried/pos/t7688.scala +++ /dev/null @@ -1,7 +0,0 @@ -import scala.reflect.macros._ - -class A[C <: Context with Singleton](position: C#Position) - -object A { - def apply(c: Context)(in: c.Tree): A[c.type] = new A(in.pos) -} diff --git a/tests/untried/pos/t7776.check b/tests/untried/pos/t7776.check deleted file mode 100644 index e69de29bb..000000000 --- a/tests/untried/pos/t7776.check +++ /dev/null diff --git a/tests/untried/pos/t7776.scala b/tests/untried/pos/t7776.scala deleted file mode 100644 index 627d20dd6..000000000 --- a/tests/untried/pos/t7776.scala +++ /dev/null @@ -1,20 +0,0 @@ -import scala.language.experimental.macros -import scala.reflect.macros.blackbox.Context - -class MacroErasure { - def app(f: Any => Any, x: Any): Any = macro MacroErasure.appMacro - def app[A](f: A => Any, x: Any): Any = macro MacroErasure.appMacroA[A] -} - -object MacroErasure { - def appMacro(c: Context)( - f: c.Expr[Any => Any], x: c.Expr[Any]): c.Expr[Any] = { - import c.universe._ - c.Expr(q"$f($x)") - } - def appMacroA[A](c: Context)(f: c.Expr[A => Any], x: c.Expr[Any])( - implicit tt: c.WeakTypeTag[A]): c.Expr[Any] = { - import c.universe._ - c.Expr(q"$f[${tt.tpe}]($x)") - } -} diff --git a/tests/untried/pos/t7782.scala b/tests/untried/pos/t7782.scala deleted file mode 100644 index 9b98f6ac6..000000000 --- a/tests/untried/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/untried/pos/t7782b.scala b/tests/untried/pos/t7782b.scala deleted file mode 100644 index 5b1979ec1..000000000 --- a/tests/untried/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/untried/pos/t7785.scala b/tests/untried/pos/t7785.scala deleted file mode 100644 index 1de693d13..000000000 --- a/tests/untried/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/untried/pos/t7834.scala b/tests/untried/pos/t7834.scala deleted file mode 100644 index fc9a0aa09..000000000 --- a/tests/untried/pos/t7834.scala +++ /dev/null @@ -1,6 +0,0 @@ -class S { val q = "" } - -class B extends S { - val x1: B.super.q.type = q - val x2: B.this.q.type = q -} diff --git a/tests/untried/pos/t7853.scala b/tests/untried/pos/t7853.scala deleted file mode 100644 index b0e9221e2..000000000 --- a/tests/untried/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/untried/pos/t788.scala b/tests/untried/pos/t788.scala deleted file mode 100644 index 19638dd17..000000000 --- a/tests/untried/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/untried/pos/t7902.scala b/tests/untried/pos/t7902.scala deleted file mode 100644 index 47c525c17..000000000 --- a/tests/untried/pos/t7902.scala +++ /dev/null @@ -1,17 +0,0 @@ -import scala.language.higherKinds - -object Bug { - class Tag[W[M1[X1]]] - - def ofType[W[M2[X2]]]: Tag[W] = ??? - type InSeq [M3[X3]] = Some[M3[Any]] - - // fail - val x = ofType[InSeq] - - // okay - val y: Any = ofType[InSeq] - object T { - val z = ofType[InSeq] - } -} diff --git a/tests/untried/pos/t7919.scala b/tests/untried/pos/t7919.scala deleted file mode 100644 index 64f261ec1..000000000 --- a/tests/untried/pos/t7919.scala +++ /dev/null @@ -1,6 +0,0 @@ - -object X { - val x = s"" - val y = true -} - diff --git a/tests/untried/pos/t7928.scala b/tests/untried/pos/t7928.scala deleted file mode 100644 index d9e29935b..000000000 --- a/tests/untried/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/untried/pos/t796.scala b/tests/untried/pos/t796.scala deleted file mode 100644 index 066625179..000000000 --- a/tests/untried/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/untried/pos/t7983.scala b/tests/untried/pos/t7983.scala deleted file mode 100644 index bae9f3333..000000000 --- a/tests/untried/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/untried/pos/t7987/Macro_1.scala b/tests/untried/pos/t7987/Macro_1.scala deleted file mode 100644 index 81f717b9c..000000000 --- a/tests/untried/pos/t7987/Macro_1.scala +++ /dev/null @@ -1,6 +0,0 @@ -import scala.language.experimental._ - -object Macro { - def apply[A](a: A): A = macro impl[A] - def impl[A](c: reflect.macros.Context)(a: c.Expr[A]): c.Expr[A] = a -} diff --git a/tests/untried/pos/t7987/Test_2.scala b/tests/untried/pos/t7987/Test_2.scala deleted file mode 100644 index 5896fdb51..000000000 --- a/tests/untried/pos/t7987/Test_2.scala +++ /dev/null @@ -1,12 +0,0 @@ -class C[T] { - def foo = 0 -} - -object Test { - implicit def AnyToC[T](a: Any): C[T] = new C[T] - // was: "macro not expanded" - Macro { - "".foo - () - } -} diff --git a/tests/untried/pos/t8001/Macros_1.scala b/tests/untried/pos/t8001/Macros_1.scala deleted file mode 100644 index 077082a9c..000000000 --- a/tests/untried/pos/t8001/Macros_1.scala +++ /dev/null @@ -1,10 +0,0 @@ -import scala.language.experimental.macros -import scala.reflect.macros.blackbox.Context - -object Macros { - def foo: Unit = macro impl - def impl(c: Context) = { - import c.universe._ - q"()" - } -} diff --git a/tests/untried/pos/t8001/Test_2.scala b/tests/untried/pos/t8001/Test_2.scala deleted file mode 100644 index 55024506e..000000000 --- a/tests/untried/pos/t8001/Test_2.scala +++ /dev/null @@ -1,4 +0,0 @@ -object Test extends App { - Macros.foo - (): Unit -} diff --git a/tests/untried/pos/t8002-nested-scope.scala b/tests/untried/pos/t8002-nested-scope.scala deleted file mode 100644 index a2088bce7..000000000 --- a/tests/untried/pos/t8002-nested-scope.scala +++ /dev/null @@ -1,20 +0,0 @@ -// This test serves to capture the status quo, but should really -// emit an accessibiltiy error. - -// `Namers#companionSymbolOf` seems too lenient, and currently doesn't -// implement the same-scope checks mentioned: -// -// https://github.com/scala/scala/pull/2816#issuecomment-22555206 -// -class C { - def foo = { - class C { private def x = 0 } - - { - val a = 0 - object C { - new C().x - } - } - } -} diff --git a/tests/untried/pos/t8011.scala b/tests/untried/pos/t8011.scala deleted file mode 100644 index 451590d77..000000000 --- a/tests/untried/pos/t8011.scala +++ /dev/null @@ -1,8 +0,0 @@ -class ThingOps1(val x: String) extends AnyVal { - def fn[A]: Any = { - new X[A] { def foo(a: A) = a } - 0 - } -} - -trait X[B] { def foo(a: B): Any } diff --git a/tests/untried/pos/t8013/inpervolated_2.scala b/tests/untried/pos/t8013/inpervolated_2.scala deleted file mode 100644 index 90e571b42..000000000 --- a/tests/untried/pos/t8013/inpervolated_2.scala +++ /dev/null @@ -1,11 +0,0 @@ -/* - * scalac: -Xfatal-warnings -Xlint - */ -package t8013 - -// unsuspecting user of perverse macro -trait User { - import Perverse.Impervolator - val foo = "bar" - Console println p"Hello, $foo" -} diff --git a/tests/untried/pos/t8013/inpervolator_1.scala b/tests/untried/pos/t8013/inpervolator_1.scala deleted file mode 100644 index 612e1d727..000000000 --- a/tests/untried/pos/t8013/inpervolator_1.scala +++ /dev/null @@ -1,33 +0,0 @@ - -package t8013 - -// perverse macro to confuse Xlint - -import scala.language.experimental.macros -import scala.reflect.macros.blackbox.Context - -object Perverse { - - implicit class Impervolator(sc: StringContext) { - def p(args: Any*): String = macro pImpl - } - - // turn a nice interpolation into something that looks - // nothing like an interpolation or anything we might - // recognize, but which includes a "$id" in an apply. - def pImpl(c: Context)(args: c.Expr[Any]*): c.Expr[String] = { - import c.universe._ - val macroPos = c.macroApplication.pos - val text = macroPos.source.lineToString(macroPos.line - 1) substring macroPos.column - val tt = Literal(Constant(text)) - val tree = q"t8013.Perverse.pervert($tt)" - c.Expr[String](tree) - } - - // identity doesn't seem very perverse in this context - //def pervert(text: String): String = text - def pervert(text: String): String = { - Console println s"Perverting [$text]" - text - } -} diff --git a/tests/untried/pos/t802.scala b/tests/untried/pos/t802.scala deleted file mode 100644 index 2dea7036d..000000000 --- a/tests/untried/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/untried/pos/t8023.scala b/tests/untried/pos/t8023.scala deleted file mode 100644 index 86824084e..000000000 --- a/tests/untried/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/untried/pos/t8023b.scala b/tests/untried/pos/t8023b.scala deleted file mode 100644 index 94c9b2f8d..000000000 --- a/tests/untried/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/untried/pos/t8045.scala b/tests/untried/pos/t8045.scala deleted file mode 100644 index 21154e386..000000000 --- a/tests/untried/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/untried/pos/t8046c.scala b/tests/untried/pos/t8046c.scala deleted file mode 100644 index f05b4c15b..000000000 --- a/tests/untried/pos/t8046c.scala +++ /dev/null @@ -1,19 +0,0 @@ -trait One { - type Op[A] - type Alias[A] = Op[A] -} - -trait Three extends One { - trait Op[A] extends (A => A) - - def f1(f: Op[Int]) = f(5) - def f2(f: Alias[Int]) = f(5) - def f3[T <: Op[Int]](f: T) = f(5) - def f4[T <: Alias[Int]](f: T) = f(5) - // ./a.scala:12: error: type mismatch; - // found : Int(5) - // required: T1 - // def f4[T <: Alias[Int]](f: T) = f(5) - // ^ -} - diff --git a/tests/untried/pos/t805.scala b/tests/untried/pos/t805.scala deleted file mode 100644 index 37bf6b5ef..000000000 --- a/tests/untried/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/untried/pos/t8064/Client_2.scala b/tests/untried/pos/t8064/Client_2.scala deleted file mode 100644 index 42c9b21ce..000000000 --- a/tests/untried/pos/t8064/Client_2.scala +++ /dev/null @@ -1,8 +0,0 @@ -object Test { - Macro { - def s = "" - Macro(s): @unchecked - ??? - } -} -// Was: a range position validation error (unpositioned tree) diff --git a/tests/untried/pos/t8064/Macro_1.scala b/tests/untried/pos/t8064/Macro_1.scala deleted file mode 100644 index 9f1e6955b..000000000 --- a/tests/untried/pos/t8064/Macro_1.scala +++ /dev/null @@ -1,10 +0,0 @@ -import language.experimental.macros -import scala.reflect.macros.blackbox.Context - -object Macro { - def apply(a: Any): Any = macro impl - - def impl(c: Context)(a: c.Tree): c.Tree = { - c.untypecheck(a) - } -} diff --git a/tests/untried/pos/t8064b/Client_2.scala b/tests/untried/pos/t8064b/Client_2.scala deleted file mode 100644 index 055b7a606..000000000 --- a/tests/untried/pos/t8064b/Client_2.scala +++ /dev/null @@ -1,6 +0,0 @@ -object Test { - Macro { - "".reverse - } -} -// Was: a range position validation error (tree with offset position enclosing tree with range position) diff --git a/tests/untried/pos/t8064b/Macro_1.scala b/tests/untried/pos/t8064b/Macro_1.scala deleted file mode 100644 index 60996bfec..000000000 --- a/tests/untried/pos/t8064b/Macro_1.scala +++ /dev/null @@ -1,11 +0,0 @@ -import language.experimental.macros -import scala.reflect.macros.blackbox.Context - -object Macro { - def apply(a: Any): Any = macro impl - def impl(c: Context)(a: c.Tree): c.Tree = { - import c.universe._ - - q"{$a; true}" - } -} diff --git a/tests/untried/pos/t807.scala b/tests/untried/pos/t807.scala deleted file mode 100644 index 0eeb92ea2..000000000 --- a/tests/untried/pos/t807.scala +++ /dev/null @@ -1,45 +0,0 @@ -trait Matcher { - trait Link { - type Self <: Link; - type Match <: Link { type Match = Link.this.Self; } - } - trait HasLinks { - def link(b : Boolean) : Link = null; - } - -} -trait BraceMatcher extends Matcher { - trait BracePair { - trait BraceLink extends Link; - trait OpenLink extends BraceLink { - type Self = OpenLink; - type Match = CloseLink; - } - trait CloseLink extends BraceLink { - type Self = CloseLink; - type Match = OpenLink; - } - } -} -trait IfElseMatcher extends BraceMatcher { - trait IfElseLink extends Link; - trait IfLink extends IfElseLink { - type Self = IfLink; - type Match = ElseImpl; - } - trait ElseImpl extends IfElseLink with HasLinks { - type Self = ElseImpl; - type Match = IfLink; - override def link(b : Boolean) = this; - } - val parenPair : BracePair; - trait IfWithParenImpl extends HasLinks { - object ifLink extends IfLink; - object openParen extends parenPair.OpenLink; - override def link(b : Boolean): Link = b match { - case true => ifLink; - case false => openParen; - } - } -} - diff --git a/tests/untried/pos/t8111.scala b/tests/untried/pos/t8111.scala deleted file mode 100644 index 7ec002c9b..000000000 --- a/tests/untried/pos/t8111.scala +++ /dev/null @@ -1,24 +0,0 @@ -trait T { - - def crashy(ma: Any): Unit = { - // okay - val f1 = (u: Unit) => ma - foo(f1)() - foo((u: Unit) => ma) - foo(0, (u: Any) => ma) apply () - - // crash due to side effects on the onwer of the symbol in the - // qualifier or arguments of the application during an abandoned - // names/defaults transform. The code type checkes because of - // autp-tupling which promotes and empty parmater list to `(): Unit` - foo((u: Any) => ma)() - - {{(u: Any) => ma}; this}.foo(0)() - - foo({def foo = ma; 0})() - - {def foo = ma; this}.foo(0)() - } - - def foo(f: Any): Any => Any -} diff --git a/tests/untried/pos/t8128.scala b/tests/untried/pos/t8128.scala deleted file mode 100644 index b6f76691b..000000000 --- a/tests/untried/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/untried/pos/t8134/A_1.scala b/tests/untried/pos/t8134/A_1.scala deleted file mode 100644 index 32bce003f..000000000 --- a/tests/untried/pos/t8134/A_1.scala +++ /dev/null @@ -1,4 +0,0 @@ -// a.scala -package object pkg { - class AnyOps(val x: Any) extends AnyVal -} diff --git a/tests/untried/pos/t8134/B_2.scala b/tests/untried/pos/t8134/B_2.scala deleted file mode 100644 index 32bce003f..000000000 --- a/tests/untried/pos/t8134/B_2.scala +++ /dev/null @@ -1,4 +0,0 @@ -// a.scala -package object pkg { - class AnyOps(val x: Any) extends AnyVal -} diff --git a/tests/untried/pos/t8146a.scala b/tests/untried/pos/t8146a.scala deleted file mode 100644 index e4eb8d3fd..000000000 --- a/tests/untried/pos/t8146a.scala +++ /dev/null @@ -1,9 +0,0 @@ -trait M[+A] - -object Test { - type Inty = Int - def t1( - x: M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[Int @unchecked]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] - ): M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[M[Inty @unchecked]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] - = x -} diff --git a/tests/untried/pos/t8146b.scala b/tests/untried/pos/t8146b.scala deleted file mode 100644 index 1a65ed518..000000000 --- a/tests/untried/pos/t8146b.scala +++ /dev/null @@ -1,77 +0,0 @@ -// non-deterministic type errors, non-termination. -// seems to be due to inconsistent hashing/equality in SubTypePair - -import scala.language.{existentials, implicitConversions} -import scala.annotation.unchecked.uncheckedVariance - -trait Column[T] - -// Turning this into a trait reduces (eliminates?) the likelihood of type errors (but not of non-termination) -abstract class Shape[Level <: ShapeLevel, -Mixed_, Unpacked_, Packed_] - -trait ShapeLevel -trait NestedShapeLevel extends ShapeLevel -trait FlatShapeLevel extends NestedShapeLevel -trait ColumnsShapeLevel extends FlatShapeLevel - -trait ProvenShape[U] - -object ProvenShape { - implicit def proveShapeOf[T, U](v: T)(implicit sh: Shape[_ <: FlatShapeLevel, T, U, _]): ProvenShape[U] = ??? -} - -sealed abstract class HList { - type Self <: HList - type :: [E] = HCons[E, Self] - final def :: [E](elem: E): :: [E] = ??? -} - -final class HCons[+H, +T <: HList](val head: H, val tail: T) extends HList { - type Self = HCons[H @uncheckedVariance, T @uncheckedVariance] -} - -final object HNil extends HList { - type Self = HNil.type -} - -// Success is more likely when not using these aliases -object syntax { - type :: [+H, +T <: HList] = HCons[H, T] - type HNil = HNil.type -} - -class HListBench { - - import syntax._ - - implicit def columnShape[T, Level <: ShapeLevel]: Shape[Level, Column[T], T, Column[T]] = ??? - implicit def provenShape[T, P](implicit shape: Shape[_ <: FlatShapeLevel, T, _, P]): Shape[FlatShapeLevel, ProvenShape[T], T, P] = ??? - final class HListShape[Level <: ShapeLevel, M <: HList, U <: HList, P <: HList](val shapes: Seq[Shape[_ <: ShapeLevel, _, _, _]]) extends Shape[Level, M, U, P] - implicit def hnilShape[Level <: ShapeLevel]: HListBench.this.HListShape[Level,HNil.type,HNil.type,HNil.type] = new HListShape[Level, HNil.type, HNil.type, HNil.type](Nil) - implicit def hconsShape[Level <: ShapeLevel, M1, M2 <: HList, U1, U2 <: HList, P1, P2 <: HList] - (implicit s1: Shape[_ <: Level, M1, U1, P1], s2: HListShape[_ <: Level, M2, U2, P2]): HListBench.this.HListShape[Level,syntax.::[M1,M2],syntax.::[U1,U2],syntax.::[P1,P2]] = - new HListShape[Level, M1 :: M2, U1 :: U2, P1 :: P2](s1 +: s2.shapes) - - trait A[T] { - def * : ProvenShape[T] - } - - trait B extends A[ - Int :: Int :: Int :: Int :: Int :: - Int :: Int :: Int :: Int :: Int :: - Int :: Int :: Int :: Int :: Int :: - Int :: Int :: Int :: Int :: Int :: - Int :: Int :: Int :: Int :: Int :: - Int :: Int :: HNil ] { - - def c: Column[Int] - - def * = c :: c :: c :: c :: c :: - c :: c :: c :: c :: c :: - c :: c :: c :: c :: c :: - c :: c :: c :: c :: c :: - c :: c :: c :: c :: c :: - c :: c :: HNil - - } -} diff --git a/tests/untried/pos/t8177a.scala b/tests/untried/pos/t8177a.scala deleted file mode 100644 index 7e2cfb386..000000000 --- a/tests/untried/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/untried/pos/t8187.check b/tests/untried/pos/t8187.check deleted file mode 100644 index e69de29bb..000000000 --- a/tests/untried/pos/t8187.check +++ /dev/null diff --git a/tests/untried/pos/t8187.scala b/tests/untried/pos/t8187.scala deleted file mode 100644 index 84b8cd0f4..000000000 --- a/tests/untried/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/untried/pos/t8209a/Macros_1.scala b/tests/untried/pos/t8209a/Macros_1.scala deleted file mode 100644 index 5d7852cb7..000000000 --- a/tests/untried/pos/t8209a/Macros_1.scala +++ /dev/null @@ -1,17 +0,0 @@ -import scala.language.experimental.macros -import scala.language.implicitConversions -import scala.reflect.macros.blackbox.Context - -class A -object A { implicit def a2b(a: A): B = ??? } -class B -class C extends A - -object Macros { - def impl(c: Context) = { - import c.universe._ - q"new C" - } - - def foo: A = macro impl -} diff --git a/tests/untried/pos/t8209a/Test_2.scala b/tests/untried/pos/t8209a/Test_2.scala deleted file mode 100644 index bedef776f..000000000 --- a/tests/untried/pos/t8209a/Test_2.scala +++ /dev/null @@ -1,4 +0,0 @@ -object Test extends App { - val a: A = Macros.foo - val b: B = Macros.foo -} diff --git a/tests/untried/pos/t8209b/Macros_1.scala b/tests/untried/pos/t8209b/Macros_1.scala deleted file mode 100644 index fa521d38d..000000000 --- a/tests/untried/pos/t8209b/Macros_1.scala +++ /dev/null @@ -1,17 +0,0 @@ -import scala.language.experimental.macros -import scala.language.implicitConversions -import scala.reflect.macros.whitebox.Context - -class A -object A { implicit def a2b(a: A): B = ??? } -class B -class C extends A - -object Macros { - def impl(c: Context) = { - import c.universe._ - q"new C" - } - - def foo: A = macro impl -} diff --git a/tests/untried/pos/t8209b/Test_2.scala b/tests/untried/pos/t8209b/Test_2.scala deleted file mode 100644 index bedef776f..000000000 --- a/tests/untried/pos/t8209b/Test_2.scala +++ /dev/null @@ -1,4 +0,0 @@ -object Test extends App { - val a: A = Macros.foo - val b: B = Macros.foo -} diff --git a/tests/untried/pos/t8219.scala b/tests/untried/pos/t8219.scala deleted file mode 100644 index e1653b623..000000000 --- a/tests/untried/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/untried/pos/t8219b.scala b/tests/untried/pos/t8219b.scala deleted file mode 100644 index b820447ce..000000000 --- a/tests/untried/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/untried/pos/t8224.scala b/tests/untried/pos/t8224.scala deleted file mode 100644 index 2fae925df..000000000 --- a/tests/untried/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/untried/pos/t8237b.scala b/tests/untried/pos/t8237b.scala deleted file mode 100644 index 52bb310e8..000000000 --- a/tests/untried/pos/t8237b.scala +++ /dev/null @@ -1,10 +0,0 @@ -import scala.language.higherKinds -import scala.reflect.runtime.universe._ -object Test { - - def fTt[A,E[X]<:List[X]](a: A)(implicit tt: TypeTag[E[A]]) = a - - trait TC[A] - implicit def TCListInt[A]: TC[A] = ??? - fTt(1) -} diff --git a/tests/untried/pos/t8300-patmat-a.scala b/tests/untried/pos/t8300-patmat-a.scala deleted file mode 100644 index ab3a3c960..000000000 --- a/tests/untried/pos/t8300-patmat-a.scala +++ /dev/null @@ -1,20 +0,0 @@ -// cf. pos/t8300-patmat-b.scala -trait Universe { - type Name >: Null <: AnyRef with NameApi - trait NameApi - - type TermName >: Null <: Name with TermNameApi - trait TermNameApi extends NameApi -} - -object Test extends App { - val u: Universe = ??? - import u._ - - locally { - val ScalaName: TermName = ??? - ??? match { - case ScalaName => ??? - } - } -} diff --git a/tests/untried/pos/t8300-patmat-b.scala b/tests/untried/pos/t8300-patmat-b.scala deleted file mode 100644 index 0acad4406..000000000 --- a/tests/untried/pos/t8300-patmat-b.scala +++ /dev/null @@ -1,20 +0,0 @@ -// cf. pos/t8300-patmat-a.scala -trait Universe { - type Name >: Null <: AnyRef with NameApi - trait NameApi - - type TermName >: Null <: TermNameApi with Name - trait TermNameApi extends NameApi -} - -object Test extends App { - val u: Universe = ??? - import u._ - - locally { - val ScalaName: TermName = ??? - ??? match { - case ScalaName => ??? - } - } -} diff --git a/tests/untried/pos/t8301b.scala b/tests/untried/pos/t8301b.scala deleted file mode 100644 index 5641547c1..000000000 --- a/tests/untried/pos/t8301b.scala +++ /dev/null @@ -1,36 +0,0 @@ -// cf. pos/t8300-patmat.scala -trait Universe { - type Name >: Null <: AnyRef with NameApi - trait NameApi - - type TermName >: Null <: TermNameApi with Name - trait TermNameApi extends NameApi -} - -object Test extends App { - val u: Universe = ??? - import u._ - - val ScalaName: TermName = ??? - locally { - - ??? match { - case Test.ScalaName => ??? - } - import Test.ScalaName._ - - ??? match { - case ScalaName => ??? - } - import ScalaName._ - - // both the pattern and import led to - // stable identifier required, but SN found. Note that value SN - // is not stable because its type, Test.u.TermName, is volatile. - val SN = ScalaName - ??? match { - case SN => ??? - } - import SN._ - } -} diff --git a/tests/untried/pos/t8352/Macros_1.scala b/tests/untried/pos/t8352/Macros_1.scala deleted file mode 100644 index c1c63e57b..000000000 --- a/tests/untried/pos/t8352/Macros_1.scala +++ /dev/null @@ -1,7 +0,0 @@ -import scala.reflect.macros.whitebox._ -import scala.language.experimental.macros - -object Macros { - def impl(c: Context)(x: c.Expr[Boolean]): c.Expr[Boolean] = x - def foo(x: Boolean): Boolean = macro impl -} diff --git a/tests/untried/pos/t8352/Test_2.scala b/tests/untried/pos/t8352/Test_2.scala deleted file mode 100644 index 1f84c3ca1..000000000 --- a/tests/untried/pos/t8352/Test_2.scala +++ /dev/null @@ -1,5 +0,0 @@ -object Test extends App { - def expectUnit(): Unit = { - Macros.foo(true) - } -} diff --git a/tests/untried/pos/t8364.check b/tests/untried/pos/t8364.check deleted file mode 100644 index e69de29bb..000000000 --- a/tests/untried/pos/t8364.check +++ /dev/null diff --git a/tests/untried/pos/t8364.scala b/tests/untried/pos/t8364.scala deleted file mode 100644 index 7a7ea1ff1..000000000 --- a/tests/untried/pos/t8364.scala +++ /dev/null @@ -1,12 +0,0 @@ -import scala.language.dynamics - -object MyDynamic extends Dynamic { - def selectDynamic(name: String): Any = ??? -} - -object Test extends App { - locally { - import java.lang.String - MyDynamic.id - } -} diff --git a/tests/untried/pos/t8367.scala b/tests/untried/pos/t8367.scala deleted file mode 100644 index 9ac2ce7c2..000000000 --- a/tests/untried/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/untried/pos/t8369a.check b/tests/untried/pos/t8369a.check deleted file mode 100644 index e69de29bb..000000000 --- a/tests/untried/pos/t8369a.check +++ /dev/null diff --git a/tests/untried/pos/t8369a.scala b/tests/untried/pos/t8369a.scala deleted file mode 100644 index 13046007f..000000000 --- a/tests/untried/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/untried/pos/t873.scala b/tests/untried/pos/t873.scala deleted file mode 100644 index b8c50afd3..000000000 --- a/tests/untried/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/untried/pos/t911.scala b/tests/untried/pos/t911.scala deleted file mode 100644 index cfa4f49dc..000000000 --- a/tests/untried/pos/t911.scala +++ /dev/null @@ -1,6 +0,0 @@ -object Test { - def foo: Any = { - case class Foo() {} - Foo; - } -} diff --git a/tests/untried/pos/tcpoly_bounds1.scala b/tests/untried/pos/tcpoly_bounds1.scala deleted file mode 100644 index 63263cb15..000000000 --- a/tests/untried/pos/tcpoly_bounds1.scala +++ /dev/null @@ -1,14 +0,0 @@ -class Foo[t[x]<: Tuple2[Int, x]] - -// -class MyPair[z](a: Int, b: z) extends Tuple2[Int, z](a,b) - -object foo extends Foo[MyPair] - - -trait Monad[m[x <: Bound[x]], Bound[x], a] // TODO: variances! -trait ListMonad[a] extends Monad[List, Any, a] - -trait MyOrdered[a] -trait MySet[x <: MyOrdered[x]] -trait SetMonad[a <: MyOrdered[a]] extends Monad[MySet, MyOrdered, a] diff --git a/tests/untried/pos/tcpoly_infer_ticket1864.scala b/tests/untried/pos/tcpoly_infer_ticket1864.scala deleted file mode 100644 index 4b7c7a223..000000000 --- a/tests/untried/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/untried/pos/tcpoly_infer_ticket474.scala b/tests/untried/pos/tcpoly_infer_ticket474.scala deleted file mode 100644 index 9012deb2b..000000000 --- a/tests/untried/pos/tcpoly_infer_ticket474.scala +++ /dev/null @@ -1,27 +0,0 @@ -trait Builder[C[_], T] { - def +=(x: T): Unit - def finalise: C[T] -} - -trait Buildable[C[_]] { - def builder[T]: Builder[C,T] -} - -object Test { - - implicit object buildableList extends Buildable[List] { - def builder[T] = new Builder[List,T] { - val buf = new scala.collection.mutable.ListBuffer[T] - def +=(x: T) = buf += x - def finalise = buf.toList - } - } - - def foo[C[_],T](x: T)(implicit b: Buildable[C]): C[T] = { - val builder = b.builder[T] - builder += x - builder.finalise - } - - val l: List[Int] = foo(8) -} diff --git a/tests/untried/pos/tcpoly_overloaded.scala b/tests/untried/pos/tcpoly_overloaded.scala deleted file mode 100644 index 4f6334685..000000000 --- a/tests/untried/pos/tcpoly_overloaded.scala +++ /dev/null @@ -1,25 +0,0 @@ -trait Monad[T <: Bound[T], MyType[x <: Bound[x]], Bound[_]] { - def flatMap[S <: RBound[S], RContainer[x <: RBound[x]], RBound[_], - Result[x <: RBound[x]] <: Monad[x, RContainer, RBound]] - (f: T => Result[S]): Result[S] - def flatMap[S <: RBound[S], RContainer[x <: RBound[x]], RBound[_], - Result[x <: RBound[x]] <: Monad[x, RContainer, RBound]] - (f: T => Result[S], foo: String): Result[S] - def flatMap[S <: Bound[S]] - (f: T => MyType[S], foo: Int): MyType[S] -} - -trait Test { - def moo: MList[Int] - class MList[T](el: T) extends Monad[T, List, Any] { - def flatMap[S <: RBound[S], RContainer[x <: RBound[x]], RBound[_], - Result[x <: RBound[x]] <: Monad[x, RContainer, RBound]] - (f: T => Result[S]): Result[S] = sys.error("foo") - def flatMap[S <: RBound[S], RContainer[x <: RBound[x]], RBound[_], - Result[x <: RBound[x]] <: Monad[x, RContainer, RBound]] - (f: T => Result[S], foo: String): Result[S] = sys.error("foo") - def flatMap[S] - (f: T => List[S], foo: Int): List[S] = sys.error("foo") - } - val l: MList[String] = moo.flatMap[String, List, Any, MList]((x: Int) => new MList("String")) -} diff --git a/tests/untried/pos/tcpoly_seq.scala b/tests/untried/pos/tcpoly_seq.scala deleted file mode 100644 index 731fe048a..000000000 --- a/tests/untried/pos/tcpoly_seq.scala +++ /dev/null @@ -1,175 +0,0 @@ -package examples.tcpoly.collection; - -trait HOSeq { - // an internal interface that encapsulates the accumulation of elements (of type elT) to produce - // a structure of type coll[elT] -- different kinds of collections should provide different implicit - // values implementing this interface, in order to provide more performant ways of building that structure - trait Accumulator[+coll[x], elT] { - def += (el: elT): Unit - def result: coll[elT] - } - - - // Iterable abstracts over the type of its structure as well as its elements (see PolyP's Bifunctor) - // m[x] is intentionally unbounded: fold can then be defined nicely - // variance: if we write m[+x] instead of +m[+x], x is an invariant position because its enclosing type - // is an invariant position -- should probably rule that out? - trait Iterable[+m[+x], +t] { - //def unit[a](orig: a): m[a] - def iterator: Iterator[t] - - // construct an empty accumulator that will produce the same structure as this iterable, with elements of type t - def accumulator[t]: Accumulator[m, t] - - def filter(p: t => Boolean): m[t] = { - val buf = accumulator[t] - val elems = iterator - while (elems.hasNext) { val x = elems.next; if (p(x)) buf += x } - buf.result - } - - def map[s](f: t => s): m[s] = { - val buf = accumulator[s] - val elems = iterator - while (elems.hasNext) buf += f(elems.next) - buf.result - } - - // flatMap is a more specialized map, it only works if the mapped function produces Iterable values, - // which are then added to the result one by one - // the compiler should be able to find the right accumulator (implicit buf) to build the result - // to get concat, resColl = SingletonIterable, f = unit for SingletonIterable - def flatMap[resColl[+x] <: Iterable[resColl, x], s](f: t => resColl[s])(implicit buf: Accumulator[resColl, s]): resColl[s] = { - // TODO: would a viewbound for resColl[x] be better? - // -- 2nd-order type params are not yet in scope in view bound - val elems = iterator - while (elems.hasNext) { - val elemss: Iterator[s] = f(elems.next).iterator - while (elemss.hasNext) buf += elemss.next - } - buf.result - } - } - - final class ListBuffer[A] { - private var start: List[A] = Nil - private var last: ::[A] = _ - private var exported: Boolean = false - - /** Appends a single element to this buffer. - * - * @param x the element to append. - */ - def += (x: A): Unit = { - if (exported) copy - if (start.isEmpty) { - last = new HOSeq.this.:: (x, Nil) - start = last - } else { - val last1 = last - last = new HOSeq.this.:: (x, null) // hack: ::'s tail will actually be last - //last1.tl = last - } - } - - /** Converts this buffer to a list - */ - def toList: List[A] = { - exported = !start.isEmpty - start - } - - /** Clears the buffer contents. - */ - def clear: Unit = { - start = Nil - exported = false - } - - /** Copy contents of this buffer */ - private def copy: Unit = { - var cursor = start - val limit = last.tail - clear - while (cursor ne limit) { - this += cursor.head - cursor = cursor.tail - } - } - } - - implicit def listAccumulator[elT]: Accumulator[List, elT] = new Accumulator[List, elT] { - private[this] val buff = new ListBuffer[elT] - def += (el: elT): Unit = buff += el - def result: List[elT] = buff.toList - } - - trait List[+t] extends Iterable[List, t] { - def head: t - def tail: List[t] - def isEmpty: Boolean - def iterator: Iterator[t] = new Iterator[t] { - var these = List.this - def hasNext: Boolean = !these.isEmpty - def next: t = - if (!hasNext) - throw new NoSuchElementException("next on empty Iterator") - else { - val result = these.head; these = these.tail; result - } - } - // construct an empty accumulator that will produce the same structure as this iterable, with elements of type t - def accumulator[t]: Accumulator[List, t] = listAccumulator[t] - } - - // TODO: the var tl approach does not seem to work because subtyping isn't fully working yet - final case class ::[+b](hd: b, private val tl: List[b]) extends List[b] { - def head = hd - def tail = if(tl==null) this else tl // hack - override def isEmpty: Boolean = false - } - - case object Nil extends List[Nothing] { - def isEmpty = true - def head: Nothing = - throw new NoSuchElementException("head of empty list") - def tail: List[Nothing] = - throw new NoSuchElementException("tail of empty list") - } -} - - - -// misc signatures collected from mailing list / library code: - /*override def flatMap[B](f: A => Iterable[B]): Set[B] - final override def flatMap[b](f: Any => Iterable[b]): Array[b] - def flatMap[b](f: a => Parser[b]) = new Parser[b] - override def flatMap[b](f: a => Iterable[b]): List[b] - - - MapResult[K] <: Seq[K] - FilterResult <: Seq[T] - Concat <: Seq[T] - Subseq <: Seq[T] - - - def map[K](f: T=>K): MapResult[K] - def filter(f: T=>Boolean): FilterResult - def subseq(from: Int, to: Int): Subseq - def flatMap[S <: Seq[K], K](f: T => S): S#Concat // legal? - def concat(others: Seq[T]): Concat - */ - -/*trait Iterator[t] { - // @post hasAdvanced implies hasNext - // model def hasAdvanced: Boolean - - def hasNext: Boolean // pure - - // @pre hasAdvanced - def current: t // pure - - // @pre hasNext - // @post hasAdvanced - def advance: Unit -}*/ diff --git a/tests/untried/pos/tcpoly_seq_typealias.scala b/tests/untried/pos/tcpoly_seq_typealias.scala deleted file mode 100644 index 8d2f6e7c3..000000000 --- a/tests/untried/pos/tcpoly_seq_typealias.scala +++ /dev/null @@ -1,143 +0,0 @@ -package examples.tcpoly.collection - -trait HOSeq { - // an internal interface that encapsulates the accumulation of elements (of type elT) to produce - // a structure of type coll[elT] -- different kinds of collections should provide different implicit - // values implementing this interface, in order to provide more performant ways of building that structure - trait Accumulator[+coll[x], elT] { - def += (el: elT): Unit - def result: coll[elT] - } - - - // Iterable abstracts over the type of its structure as well as its elements (see PolyP's Bifunctor) - // m[x] is intentionally unbounded: fold can then be defined nicely - // variance: if we write m[+x] instead of +m[+x], x is an invariant position because its enclosing type - // is an invariant position -- should probably rule that out? - trait Iterable[+t] { - type m[+x] - - //def unit[a](orig: a): m[a] - def iterator: Iterator[t] - - // construct an empty accumulator that will produce the same structure as this iterable, with elements of type t - def accumulator[t]: Accumulator[m, t] - - def filter(p: t => Boolean): m[t] = { - val buf = accumulator[t] - val elems = iterator - while (elems.hasNext) { val x = elems.next; if (p(x)) buf += x } - buf.result - } - - def map[s](f: t => s): m[s] = { - val buf = accumulator[s] - val elems = iterator - while (elems.hasNext) buf += f(elems.next) - buf.result - } - - // flatMap is a more specialized map, it only works if the mapped function produces Iterable values, - // which are then added to the result one by one - // the compiler should be able to find the right accumulator (implicit buf) to build the result - // to get concat, resColl = SingletonIterable, f = unit for SingletonIterable - def flatMap[resColl[+x] <: Iterable[x], s](f: t => resColl[s])(implicit buf: Accumulator[resColl, s]): resColl[s] = { - // TODO: would a viewbound for resColl[x] be better? - // -- 2nd-order type params are not yet in scope in view bound - val elems = iterator - while (elems.hasNext) { - val elemss: Iterator[s] = f(elems.next).iterator - while (elemss.hasNext) buf += elemss.next - } - buf.result - } - } - - final class ListBuffer[A] { - private var start: List[A] = Nil - private var last: ::[A] = _ - private var exported: Boolean = false - - /** Appends a single element to this buffer. - * - * @param x the element to append. - */ - def += (x: A): Unit = { - if (exported) copy - if (start.isEmpty) { - last = new HOSeq.this.:: (x, Nil) - start = last - } else { - val last1 = last - last = new HOSeq.this.:: (x, null) // hack: ::'s tail will actually be last - //last1.tl = last - } - } - - /** Converts this buffer to a list - */ - def toList: List[A] = { - exported = !start.isEmpty - start - } - - /** Clears the buffer contents. - */ - def clear: Unit = { - start = Nil - exported = false - } - - /** Copy contents of this buffer */ - private def copy: Unit = { - var cursor = start - val limit = last.tail - clear - while (cursor ne limit) { - this += cursor.head - cursor = cursor.tail - } - } - } - - implicit def listAccumulator[elT]: Accumulator[List, elT] = new Accumulator[List, elT] { - private[this] val buff = new ListBuffer[elT] - def += (el: elT): Unit = buff += el - def result: List[elT] = buff.toList - } - - trait List[+t] extends Iterable[t] { - type m[+x] = List[x] - - def head: t - def tail: List[t] - def isEmpty: Boolean - def iterator: Iterator[t] = new Iterator[t] { - var these = List.this - def hasNext: Boolean = !these.isEmpty - def next: t = - if (!hasNext) - throw new NoSuchElementException("next on empty Iterator") - else { - val result = these.head; these = these.tail; result - } - } - // construct an empty accumulator that will produce the same structure as this iterable, with elements of type t - def accumulator[t]: Accumulator[List, t] = listAccumulator[t] - } - - // TODO: the var tl approach does not seem to work because subtyping isn't fully working yet - final case class ::[+b](hd: b, private val tl: List[b]) extends List[b] { - def head = hd - def tail = if(tl==null) this else tl // hack - override def isEmpty: Boolean = false - } - - case object Nil extends List[Nothing] { - def isEmpty = true - def head: Nothing = - throw new NoSuchElementException("head of empty list") - def tail: List[Nothing] = - throw new NoSuchElementException("tail of empty list") - } -} diff --git a/tests/untried/pos/tcpoly_ticket2096.scala b/tests/untried/pos/tcpoly_ticket2096.scala deleted file mode 100644 index d2387b36b..000000000 --- a/tests/untried/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/untried/pos/tcpoly_variance_pos.scala b/tests/untried/pos/tcpoly_variance_pos.scala deleted file mode 100644 index b63abce20..000000000 --- a/tests/untried/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/untried/pos/ted.scala b/tests/untried/pos/ted.scala deleted file mode 100644 index 314f10932..000000000 --- a/tests/untried/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/untried/pos/test4.scala b/tests/untried/pos/test4.scala deleted file mode 100644 index 4fe65a8f1..000000000 --- a/tests/untried/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/untried/pos/test5.scala b/tests/untried/pos/test5.scala deleted file mode 100644 index 4dbafc9ac..000000000 --- a/tests/untried/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/untried/pos/test5refine.scala b/tests/untried/pos/test5refine.scala deleted file mode 100644 index 5459b3b97..000000000 --- a/tests/untried/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/untried/pos/ticket2251.scala b/tests/untried/pos/ticket2251.scala deleted file mode 100644 index 006407247..000000000 --- a/tests/untried/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/untried/pos/trait-force-info.flags b/tests/untried/pos/trait-force-info.flags deleted file mode 100644 index eb4d19bcb..000000000 --- a/tests/untried/pos/trait-force-info.flags +++ /dev/null @@ -1 +0,0 @@ --optimise
\ No newline at end of file diff --git a/tests/untried/pos/trait-force-info.scala b/tests/untried/pos/trait-force-info.scala deleted file mode 100644 index c2b33869c..000000000 --- a/tests/untried/pos/trait-force-info.scala +++ /dev/null @@ -1,18 +0,0 @@ -/** This does NOT crash unless it's in the interactive package. - */ - -package scala.tools.nsc -package interactive - -trait MyContextTrees { - val self: Global - val NoContext = self.analyzer.NoContext -} -// -// error: java.lang.AssertionError: assertion failed: trait Contexts.NoContext$ linkedModule: <none>List() -// at scala.Predef$.assert(Predef.scala:160) -// at scala.tools.nsc.symtab.classfile.ClassfileParser$innerClasses$.innerSymbol$1(ClassfileParser.scala:1211) -// at scala.tools.nsc.symtab.classfile.ClassfileParser$innerClasses$.classSymbol(ClassfileParser.scala:1223) -// at scala.tools.nsc.symtab.classfile.ClassfileParser.classNameToSymbol(ClassfileParser.scala:489) -// at scala.tools.nsc.symtab.classfile.ClassfileParser.sig2type$1(ClassfileParser.scala:757) -// at scala.tools.nsc.symtab.classfile.ClassfileParser.sig2type$1(ClassfileParser.scala:789) diff --git a/tests/untried/pos/tryexpr.scala b/tests/untried/pos/tryexpr.scala deleted file mode 100644 index c6c2febf7..000000000 --- a/tests/untried/pos/tryexpr.scala +++ /dev/null @@ -1,10 +0,0 @@ -// stretching more flexible try/catch's legs a bit -object o { - try Integer.parseInt("xxxx") catch { case e => 5 } - try 5 - try try try 10 - try try try 10 catch { case e => 20 } finally 30 - try try try 10 catch { case e => 20 } finally 30 finally 40 - try try try 10 catch { case e => 20 } finally 30 finally 40 finally 50 - try try try 10 finally 50 -} diff --git a/tests/untried/pos/typealiases.scala b/tests/untried/pos/typealiases.scala deleted file mode 100644 index 93d1dce4d..000000000 --- a/tests/untried/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/untried/pos/typerep-stephane.scala b/tests/untried/pos/typerep-stephane.scala deleted file mode 100644 index 2cb899591..000000000 --- a/tests/untried/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/untried/pos/typesafecons.scala b/tests/untried/pos/typesafecons.scala deleted file mode 100644 index 524328016..000000000 --- a/tests/untried/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/untried/pos/unapplySeq.scala b/tests/untried/pos/unapplySeq.scala deleted file mode 100644 index 6d13cc8b5..000000000 --- a/tests/untried/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/untried/pos/unchecked-a.flags b/tests/untried/pos/unchecked-a.flags deleted file mode 100644 index 779916d58..000000000 --- a/tests/untried/pos/unchecked-a.flags +++ /dev/null @@ -1 +0,0 @@ --unchecked -Xfatal-warnings
\ No newline at end of file diff --git a/tests/untried/pos/unchecked-a.scala b/tests/untried/pos/unchecked-a.scala deleted file mode 100644 index deceb91c3..000000000 --- a/tests/untried/pos/unchecked-a.scala +++ /dev/null @@ -1,15 +0,0 @@ -trait Y -trait Z extends Y -class X[+A <: Y] - -object Test { - def f1(x: X[_ <: Y]) = x match { - case _: X[Any] => // looks a little funny; `Any` is outside the bounds for `A` - } - def f2(x: X[_ <: Y]) = x match { - case _: X[Y] => // looks better, let's allow this (too) - } - - // NonLocalReturnControl[_] warnings - def foo: Int = List(0).foldLeft(0){case _ => return 0} -} diff --git a/tests/untried/pos/variances-local.scala b/tests/untried/pos/variances-local.scala deleted file mode 100644 index 35e395095..000000000 --- a/tests/untried/pos/variances-local.scala +++ /dev/null @@ -1,7 +0,0 @@ -class Foo1[+T] { - private[this] type MyType = T -} - -class Foo2[+T] { - protected[this] type MyType = T -} diff --git a/tests/untried/pos/viewtest1.scala b/tests/untried/pos/viewtest1.scala deleted file mode 100644 index 38945ad2f..000000000 --- a/tests/untried/pos/viewtest1.scala +++ /dev/null @@ -1,42 +0,0 @@ -package test - -trait Ordered[a] { - def < (x: a): Boolean -} - -object O { - implicit def view (x: String): Ordered[String] = new Ordered[String] { - def < (y: String) = x.compareTo(y) < 0 - } -} - -object Empty extends Tree[Nothing] -case class Node[c <% Ordered[c]](elem: c, l: Tree[c], r: Tree[c]) extends Tree[c] - -abstract class Tree[+a <% Ordered[a]] { - def insert[b >: a <% Ordered[b]](x: b): Tree[b] = this match { - case Empty => - new Node(x, Empty, Empty) - case Node(elem, l, r) => - if (x == elem) this - else if (x < elem) Node(elem, l insert x, r) - else Node(elem, l, r insert x) - } - def elements: List[a] = this match { - case Empty => List() - case Node(elem, l, r) => - l.elements ::: List(elem) ::: r.elements - } -} - -object Test { - import O.view - - def main(args: Array[String]): Unit = { - var t: Tree[String] = Empty - for (s <- args) { - t = t insert s - } - println(t.elements) - } -} diff --git a/tests/untried/pos/virtpatmat_alts_subst.flags b/tests/untried/pos/virtpatmat_alts_subst.flags deleted file mode 100644 index 3f5a3100e..000000000 --- a/tests/untried/pos/virtpatmat_alts_subst.flags +++ /dev/null @@ -1 +0,0 @@ - -Xexperimental diff --git a/tests/untried/pos/virtpatmat_alts_subst.scala b/tests/untried/pos/virtpatmat_alts_subst.scala deleted file mode 100644 index e27c52f9c..000000000 --- a/tests/untried/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/untried/pos/virtpatmat_exist1.flags b/tests/untried/pos/virtpatmat_exist1.flags deleted file mode 100644 index 3f5a3100e..000000000 --- a/tests/untried/pos/virtpatmat_exist1.flags +++ /dev/null @@ -1 +0,0 @@ - -Xexperimental diff --git a/tests/untried/pos/virtpatmat_exist1.scala b/tests/untried/pos/virtpatmat_exist1.scala deleted file mode 100644 index 6cad017b0..000000000 --- a/tests/untried/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/untried/pos/virtpatmat_exist3.flags b/tests/untried/pos/virtpatmat_exist3.flags deleted file mode 100644 index 3f5a3100e..000000000 --- a/tests/untried/pos/virtpatmat_exist3.flags +++ /dev/null @@ -1 +0,0 @@ - -Xexperimental diff --git a/tests/untried/pos/virtpatmat_exist3.scala b/tests/untried/pos/virtpatmat_exist3.scala deleted file mode 100644 index 6a6d428b1..000000000 --- a/tests/untried/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/untried/pos/virtpatmat_exist_uncurry.scala b/tests/untried/pos/virtpatmat_exist_uncurry.scala deleted file mode 100644 index 727922b31..000000000 --- a/tests/untried/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 } - } -} diff --git a/tests/untried/pos/z1720.scala b/tests/untried/pos/z1720.scala deleted file mode 100644 index 7394d428c..000000000 --- a/tests/untried/pos/z1720.scala +++ /dev/null @@ -1,16 +0,0 @@ -package test - -class Thing { - def info: Info[this.type] = InfoRepository.getInfo(this) - def info2: Info[this.type] = { - def self: this.type = this - InfoRepository.getInfo(self) - } -} - -trait Info[T] -case class InfoImpl[T](thing: T) extends Info[T] - -object InfoRepository { - def getInfo(t: Thing): Info[t.type] = InfoImpl(t) -} |