From e51207992f525ed9e32a7a9a39512b4d7e503c03 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Tue, 5 Jun 2007 15:57:59 +0000 Subject: deprecated &f, .f, requires. Added existential types. --- test/files/neg/bug1001.scala | 2 +- test/files/neg/bug1024.check | 4 ---- test/files/neg/bug1024.scala | 3 --- test/files/neg/bug343.scala | 2 ++ test/files/neg/bug648.check | 4 ---- test/files/neg/bug648.scala | 14 -------------- test/files/neg/bug752.check | 4 ++-- test/files/neg/bug752.scala | 2 +- test/files/neg/bug783.scala | 2 +- test/files/neg/bug845.scala | 2 +- test/files/neg/bug846.scala | 2 +- test/files/neg/bug987.scala | 2 +- test/files/neg/escapes.check | 4 ---- test/files/neg/escapes.scala | 6 ------ test/files/neg/saito.scala | 2 +- 15 files changed, 11 insertions(+), 44 deletions(-) delete mode 100644 test/files/neg/bug1024.check delete mode 100644 test/files/neg/bug1024.scala delete mode 100644 test/files/neg/bug648.check delete mode 100644 test/files/neg/bug648.scala delete mode 100644 test/files/neg/escapes.check delete mode 100644 test/files/neg/escapes.scala (limited to 'test/files/neg') diff --git a/test/files/neg/bug1001.scala b/test/files/neg/bug1001.scala index 139ade366c..1b909fb2ad 100644 --- a/test/files/neg/bug1001.scala +++ b/test/files/neg/bug1001.scala @@ -7,7 +7,7 @@ abstract class A protected val data: List[A] } -trait B[T <: B[T]] requires T extends A {} +trait B[T <: B[T]] extends A { self: T => } abstract class C extends A { diff --git a/test/files/neg/bug1024.check b/test/files/neg/bug1024.check deleted file mode 100644 index c70ff47ec0..0000000000 --- a/test/files/neg/bug1024.check +++ /dev/null @@ -1,4 +0,0 @@ -bug1024.scala:2: error: type _ escapes its defining scope as part of type (List[_], Int) - val (a: List[_], b) = (List(1 ,2 ,3 ), 4) - ^ -one error found diff --git a/test/files/neg/bug1024.scala b/test/files/neg/bug1024.scala deleted file mode 100644 index bddb21f727..0000000000 --- a/test/files/neg/bug1024.scala +++ /dev/null @@ -1,3 +0,0 @@ -object Test { - val (a: List[_], b) = (List(1 ,2 ,3 ), 4) -} diff --git a/test/files/neg/bug343.scala b/test/files/neg/bug343.scala index d04e1479f7..ed57d2eef7 100644 --- a/test/files/neg/bug343.scala +++ b/test/files/neg/bug343.scala @@ -5,6 +5,8 @@ class C { def get:Foo = new Foo(); } + + object Test { def main(args:Array[String]) = { val c = new C().get; diff --git a/test/files/neg/bug648.check b/test/files/neg/bug648.check deleted file mode 100644 index 5323f86c42..0000000000 --- a/test/files/neg/bug648.check +++ /dev/null @@ -1,4 +0,0 @@ -bug648.scala:7: error: value newAcc escapes its defining scope as part of type newAcc.type - List[Symbol]() map { sym => - ^ -one error found diff --git a/test/files/neg/bug648.scala b/test/files/neg/bug648.scala deleted file mode 100644 index 6b8d70ff0d..0000000000 --- a/test/files/neg/bug648.scala +++ /dev/null @@ -1,14 +0,0 @@ -import scala.tools.nsc.transform.Transform - -abstract class Detach extends Transform { - import global._ - class DetachTransformer extends Transformer { - def foo: Scope = newScope( - List[Symbol]() map { sym => - val newAcc = sym.cloneSymbol - // def setFlag(mask: long): this.type - newAcc.setFlag(0) - } - ) - } -} diff --git a/test/files/neg/bug752.check b/test/files/neg/bug752.check index 7559a497ce..dddab530e4 100644 --- a/test/files/neg/bug752.check +++ b/test/files/neg/bug752.check @@ -1,6 +1,6 @@ bug752.scala:6: error: type mismatch; found : (String) => Unit required: (Int) => Unit - f(&g) - ^ + f(g _) + ^ one error found diff --git a/test/files/neg/bug752.scala b/test/files/neg/bug752.scala index aae0d5f4a7..00f45e323c 100644 --- a/test/files/neg/bug752.scala +++ b/test/files/neg/bug752.scala @@ -3,6 +3,6 @@ object Test def f(x : Int => Unit) : Unit = () def g(x : String) : Unit = () def main(argv : Array[String]) = { - f(&g) + f(g _) } } diff --git a/test/files/neg/bug783.scala b/test/files/neg/bug783.scala index 0180d3d634..3818910b8e 100644 --- a/test/files/neg/bug783.scala +++ b/test/files/neg/bug783.scala @@ -6,7 +6,7 @@ object Main extends Application { Console.println("outer: " + Global.this); } } - trait Contexts requires Analyzer { + trait Contexts { self: Analyzer => val xxx : global.Template = { assert(globalInit0 != null); globalInit0.Template(10, 20); diff --git a/test/files/neg/bug845.scala b/test/files/neg/bug845.scala index c8a2faa671..26c2df52dc 100644 --- a/test/files/neg/bug845.scala +++ b/test/files/neg/bug845.scala @@ -11,6 +11,6 @@ object Test extends Application { if (a != null) f(a) else null; val bob : Bob = null; - val bar = ifn(bob)(.bar); + val bar = ifn(bob)(_.bar); assert(bar == null); } diff --git a/test/files/neg/bug846.scala b/test/files/neg/bug846.scala index be105a71aa..acf8462030 100644 --- a/test/files/neg/bug846.scala +++ b/test/files/neg/bug846.scala @@ -8,6 +8,6 @@ trait Test { def ifn[A,B](a : A)(f : A => B): B = if (a != null) f(a) else null val bob : Bob = null; - val bar = ifn(bob)(.bar); + val bar = ifn(bob)(_.bar); assert(bar == null); } diff --git a/test/files/neg/bug987.scala b/test/files/neg/bug987.scala index dcd3ce1d07..fc66a6f874 100644 --- a/test/files/neg/bug987.scala +++ b/test/files/neg/bug987.scala @@ -5,7 +5,7 @@ class A {} -trait B[T <: B[T]] requires T {} +trait B[T <: B[T]] { self: T => } abstract class C extends A with B[C] { diff --git a/test/files/neg/escapes.check b/test/files/neg/escapes.check deleted file mode 100644 index 3c4473e6b6..0000000000 --- a/test/files/neg/escapes.check +++ /dev/null @@ -1,4 +0,0 @@ -escapes.scala:2: error: type t escapes its defining scope as part of type t - def f(x: Any) = x match { case y: Cell[t] => y.elem } - ^ -one error found diff --git a/test/files/neg/escapes.scala b/test/files/neg/escapes.scala deleted file mode 100644 index 3a280e8d0a..0000000000 --- a/test/files/neg/escapes.scala +++ /dev/null @@ -1,6 +0,0 @@ -object Test { - def f(x: Any) = x match { case y: Cell[t] => y.elem } - class C3[T](val elem: T) - class D3[T](val elemD: T) extends C3[T](elemD) - def f[T](x: C3[T]) = x match { case d: D3[t] => d.elemD } -} diff --git a/test/files/neg/saito.scala b/test/files/neg/saito.scala index a8bcc79d65..b4fcd598e4 100644 --- a/test/files/neg/saito.scala +++ b/test/files/neg/saito.scala @@ -1,5 +1,5 @@ class B {} -class A requires B { +class A { self: B => def m(): B = { this } -- cgit v1.2.3