summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/library/scala/collection/IndexedSeqViewLike.scala6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/library/scala/collection/IndexedSeqViewLike.scala b/src/library/scala/collection/IndexedSeqViewLike.scala
index 06fa6c8953..5b0b04e5be 100644
--- a/src/library/scala/collection/IndexedSeqViewLike.scala
+++ b/src/library/scala/collection/IndexedSeqViewLike.scala
@@ -45,7 +45,11 @@ trait IndexedSeqViewLike[+A,
trait Zipped[B] extends Transformed[(A, B)] {
protected[this] val other: Iterable[B]
- def length = self.length min other.size
+ /** Have to be careful here - other may be an infinite sequence. */
+ def length =
+ if (other.hasDefiniteSize) self.length min other.size
+ else other take self.length size
+
def apply(idx: Int): (A, B) = (self.apply(idx), other.iterator drop idx next)
override def stringPrefix = self.stringPrefix+"Z"
}