diff options
Diffstat (limited to 'test/files/pos/simplelists.scala')
-rw-r--r-- | test/files/pos/simplelists.scala | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/test/files/pos/simplelists.scala b/test/files/pos/simplelists.scala index 73b04a8762..ed3d5d2c38 100644 --- a/test/files/pos/simplelists.scala +++ b/test/files/pos/simplelists.scala @@ -1,17 +1,16 @@ - 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); - } +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 = throw new java.lang.Error(msg); - 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; - } +object Nil extends List[Nothing] { + def error(msg: String): Nothing = throw new java.lang.Error(msg) + def head: Nothing = error("Nil.head") + def tail: List[Nothing] = 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 +} |