diff options
author | Martin Odersky <odersky@gmail.com> | 2007-06-05 15:57:59 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2007-06-05 15:57:59 +0000 |
commit | e51207992f525ed9e32a7a9a39512b4d7e503c03 (patch) | |
tree | b9440d03aed294fde3f8aaa293f60ed98b5de0c1 /test/files/pos/bug267.scala | |
parent | e060c61b6127ceb2de0e4ce5d3f3d685bc542804 (diff) | |
download | scala-e51207992f525ed9e32a7a9a39512b4d7e503c03.tar.gz scala-e51207992f525ed9e32a7a9a39512b4d7e503c03.tar.bz2 scala-e51207992f525ed9e32a7a9a39512b4d7e503c03.zip |
deprecated &f, .f, requires.
Added existential types.
Diffstat (limited to 'test/files/pos/bug267.scala')
-rw-r--r-- | test/files/pos/bug267.scala | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/test/files/pos/bug267.scala b/test/files/pos/bug267.scala index 66add083f7..92282f77a2 100644 --- a/test/files/pos/bug267.scala +++ b/test/files/pos/bug267.scala @@ -11,7 +11,7 @@ trait Base { trait Exp { def eval: int } - class Num(v: int) requires exp extends Exp { + class Num(v: int) extends Exp { self: exp => val value = v; def eval = value } @@ -26,7 +26,7 @@ object testBase extends Application with Base { /** Data extension: An extension of `Base' with `Plus' expressions */ trait BasePlus extends Base { - class Plus(l: exp, r: exp) requires exp extends Exp { + class Plus(l: exp, r: exp) extends Exp { self: exp => val left = l; val right = r; def eval = left.eval + right.eval @@ -41,7 +41,7 @@ trait Show extends Base { trait Exp1 extends Exp { def show: String; } - class Num1(v: int) requires (exp with Num1) extends Num(v) with Exp1 { + class Num1(v: int) extends Num(v) with Exp1 { self: exp with Num1 => def show = value.toString(); } } @@ -49,7 +49,7 @@ trait Show extends Base { /** Operation extension: An extension of `BasePlus' with 'show' methods. */ trait ShowPlus extends BasePlus with Show { - class Plus1(l: exp, r: exp) requires (exp with Plus1) extends Plus(l, r) with Exp1 { + class Plus1(l: exp, r: exp) extends Plus(l, r) with Exp1 { self: exp with Plus1 => def show = left.show + " + " + right.show } } |