diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/library/scala/Stream.scala | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/library/scala/Stream.scala b/src/library/scala/Stream.scala index afd653480c..5ad3140968 100644 --- a/src/library/scala/Stream.scala +++ b/src/library/scala/Stream.scala @@ -243,7 +243,7 @@ trait Stream[+A] extends Seq[A] { * @return the <code>n</code> first elements of this stream. */ override def take(n: Int): Stream[A] = - if (n == 0) Stream.empty + if (isEmpty || n <= 0) Stream.empty else Stream.cons(head, tail.take(n-1)) /** Returns the stream without its <code>n</code> first elements. @@ -254,7 +254,7 @@ trait Stream[+A] extends Seq[A] { */ override def drop(n: Int): Stream[A] = { def loop(s: Stream[A], n: Int): Stream[A] = - if (n == 0) s + if (s.isEmpty || n <= 0) s else loop(s.tail, n-1) loop(this, n) } |