diff options
author | Martin Odersky <odersky@gmail.com> | 2005-10-06 13:14:33 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2005-10-06 13:14:33 +0000 |
commit | 25a98964b5109aa55b71a8a26886c59903193548 (patch) | |
tree | 84b8fa154b5a0a2f36accd43d8d35926f6ba8579 /test | |
parent | 3b81e0cbac2fe51226472949ecde4d81b0e95412 (diff) | |
download | scala-25a98964b5109aa55b71a8a26886c59903193548.tar.gz scala-25a98964b5109aa55b71a8a26886c59903193548.tar.bz2 scala-25a98964b5109aa55b71a8a26886c59903193548.zip |
*** empty log message ***
Diffstat (limited to 'test')
-rw-r--r-- | test/files/pos/S5.scala | 4 | ||||
-rw-r--r-- | test/files/pos/mixins.scala | 17 | ||||
-rwxr-xr-x | test/files/pos/viewtest2.scala | 12 |
3 files changed, 13 insertions, 20 deletions
diff --git a/test/files/pos/S5.scala b/test/files/pos/S5.scala index f0b66a6e68..08f5b2a6eb 100644 --- a/test/files/pos/S5.scala +++ b/test/files/pos/S5.scala @@ -16,7 +16,7 @@ abstract class M() { // module body of M } } -trait N { +abstract class N() { val _N: N = this; val n: _N.n = new _N.n(); val _M: M; @@ -26,5 +26,5 @@ trait N { } } object O { - val system = new M() with N {} + val system = new M() with N() {} } diff --git a/test/files/pos/mixins.scala b/test/files/pos/mixins.scala index 2b403a25e8..8d7e7dfa52 100644 --- a/test/files/pos/mixins.scala +++ b/test/files/pos/mixins.scala @@ -2,21 +2,16 @@ package mixins; abstract class Super { def foo: int; } -trait Mixin extends Super { +abstract class Mixin extends Super { abstract override def foo = super.foo; } -trait MixinSub extends Super with Mixin { - abstract override def foo: int = super.foo; +class Sub extends Super with Mixin { + override def foo: int = 1; } -trait MixinSubSub extends MixinSub { +abstract class Mixin1 extends Mixin { abstract override def foo = super.foo; } -class Sub extends Super { - def foo: int = 1 +abstract class Base0 extends Super with Mixin { } -class Base extends Sub with MixinSubSub { - override def foo = super.foo; +class Base extends Sub with Mixin1 { } -trait Mixin1 extends Sub with MixinSubSub {} -class Base1 extends Mixin1 {} - diff --git a/test/files/pos/viewtest2.scala b/test/files/pos/viewtest2.scala index 1958696c1f..0d580418d0 100755 --- a/test/files/pos/viewtest2.scala +++ b/test/files/pos/viewtest2.scala @@ -24,20 +24,20 @@ trait Ordered[+a] { object O { - implicit def view1(x: String): Ordered[String] = new Ordered[String] { + def view (x: String): Ordered[String] = new Ordered[String] { def compareTo [b >: String <% Ordered[b]](y: b): int = y match { case y1: String => x compareTo y1; case _ => -(y compareTo x) } } - implicit def view2(x: char): Ordered[char] = new Ordered[char] { + def view (x: char): Ordered[char] = new Ordered[char] { def compareTo [b >: char <% Ordered[b]](y: b): int = y match { case y1: char => x - y1; case _ => -(y compareTo x) } } - implicit def view3[a <% Ordered[a]](x: List[a]): Ordered[List[a]] = + def view[a <% Ordered[a]](x: List[a]): Ordered[List[a]] = new Ordered[List[a]] { def compareTo [b >: List[a] <% Ordered[b]](y: b): int = y match { case y1: List[a] => compareLists(x, y1); @@ -54,8 +54,6 @@ object O { } } } - - implicit def view4[a](x: a): a = x; } trait Tree[+a <% Ordered[a]] { @@ -68,7 +66,7 @@ object Empty extends Tree[All] { def elements: List[All] = List(); } -class Node[a <% Ordered[a]](elem: a, l: Tree[a], r: Tree[a]) extends Tree[a] { +class Node[+a <% Ordered[a]](elem: a, l: Tree[a], r: Tree[a]) extends Tree[a] { def insert[b >: a <% Ordered[b]](x: b): Tree[b] = if (x == elem) this else if (x < elem) new Node(elem, l insert x, r) @@ -85,7 +83,7 @@ case class Str(elem: String) extends Ordered[Str] { } object Test { - import O._; + import O.view; private def toCharList(s: String): List[Char] = if (s.length() == 0) List() |