summaryrefslogtreecommitdiff
path: root/test/files/pos/simplelists.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2003-04-30 09:06:27 +0000
committerMartin Odersky <odersky@gmail.com>2003-04-30 09:06:27 +0000
commit21f24de326d79515c44f80665f9679410389b1ab (patch)
treebc8820c917f88ecda8469c90bd7f7298fdc27975 /test/files/pos/simplelists.scala
parente0d3451834b3cc5748dadb6b53971c05878faee4 (diff)
downloadscala-21f24de326d79515c44f80665f9679410389b1ab.tar.gz
scala-21f24de326d79515c44f80665f9679410389b1ab.tar.bz2
scala-21f24de326d79515c44f80665f9679410389b1ab.zip
*** empty log message ***
Diffstat (limited to 'test/files/pos/simplelists.scala')
-rw-r--r--test/files/pos/simplelists.scala17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/files/pos/simplelists.scala b/test/files/pos/simplelists.scala
new file mode 100644
index 0000000000..143bbdd77b
--- /dev/null
+++ b/test/files/pos/simplelists.scala
@@ -0,0 +1,17 @@
+ abstract class List[+a] {
+ def head: a;
+ def tail: List[a];
+ def cons[b >: a](x: b): List[b] = new Cons[b, a](x, this);
+ }
+
+ object Nil extends List[All] {
+ def error(msg: String): All = new java.lang.Error(msg).throw;
+ def head: All = error("Nil.head");
+ def tail: List[All] = error("Nil.tail");
+ }
+
+ class Cons[c, d <: c](x: c, xs: List[d]) extends List[c] {
+ def head: c = x;
+ def tail: List[c] = xs;
+ }
+