From 9eed5b8929644df84dcae3dae91238683c95ef86 Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Wed, 22 Jul 2009 20:04:13 +0000 Subject: Fix and test cases for #2184. --- .../scala/collection/generic/TraversableViewTemplate.scala | 2 +- test/files/run/takeAndDrop.scala | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 test/files/run/takeAndDrop.scala diff --git a/src/library/scala/collection/generic/TraversableViewTemplate.scala b/src/library/scala/collection/generic/TraversableViewTemplate.scala index 84d5b9d0b3..ec18eca433 100644 --- a/src/library/scala/collection/generic/TraversableViewTemplate.scala +++ b/src/library/scala/collection/generic/TraversableViewTemplate.scala @@ -67,7 +67,7 @@ self => } override def stringPrefix = self.stringPrefix+"S" override def slice(from1: Int, until1: Int): This = - newSliced(from + (from1 max 0), from + (until1 max 0)).asInstanceOf[This] + newSliced(from1 max 0, until1 max 0).asInstanceOf[This] } trait Mapped[B] extends Transformed[B] { diff --git a/test/files/run/takeAndDrop.scala b/test/files/run/takeAndDrop.scala new file mode 100644 index 0000000000..896923ddc1 --- /dev/null +++ b/test/files/run/takeAndDrop.scala @@ -0,0 +1,14 @@ +object Test { + def main(args: Array[String]): Unit = { + val range = 1 to 10 + val target = (3 to 8).toList + val confirm = (xs: Seq[Int]) => assert(xs.toList == target) + + confirm(range drop 2 dropRight 2) + confirm(range drop 1 dropRight 1 drop 1 dropRight 1) + confirm(range take 8 drop 2) + confirm(range takeRight 8 dropRight 2) + confirm(range drop 2 take 6) + confirm(range dropRight 1 take 8 takeRight 7 drop 1) + } +} -- cgit v1.2.3