diff options
Diffstat (limited to 'test/files/pos/bug0082.scala')
-rw-r--r-- | test/files/pos/bug0082.scala | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/files/pos/bug0082.scala b/test/files/pos/bug0082.scala new file mode 100644 index 0000000000..2b365ca333 --- /dev/null +++ b/test/files/pos/bug0082.scala @@ -0,0 +1,18 @@ + +object Main { + + def min0[A](less: (A, A) => Boolean, xs: List[A]): Option[A] = xs match { + case List() => None + case List(x) => Some(x) +// case x :: Nil => Some(x) + case y :: ys => (min0(less, ys): @unchecked) match { + case Some(m) => if (less(y, m)) Some(y) else Some(m) + } + } + + def min(xs: List[Int]) = min0((x: Int, y: Int) => x < y, xs); + + def main(args: Array[String]) = + Console.println(min(List())); + +} |