diff options
author | Paul Phillips <paulp@improving.org> | 2009-07-22 20:04:13 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2009-07-22 20:04:13 +0000 |
commit | 9eed5b8929644df84dcae3dae91238683c95ef86 (patch) | |
tree | 3600358002bd5a3a4d41b123c7db0a11ba16bbc4 | |
parent | fa70f512342aab6767c8a8fa59ec39b98d8640e2 (diff) | |
download | scala-9eed5b8929644df84dcae3dae91238683c95ef86.tar.gz scala-9eed5b8929644df84dcae3dae91238683c95ef86.tar.bz2 scala-9eed5b8929644df84dcae3dae91238683c95ef86.zip |
Fix and test cases for #2184.
-rw-r--r-- | src/library/scala/collection/generic/TraversableViewTemplate.scala | 2 | ||||
-rw-r--r-- | test/files/run/takeAndDrop.scala | 14 |
2 files changed, 15 insertions, 1 deletions
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) + } +} |