summaryrefslogtreecommitdiff
path: root/src/library/scala/collection/Iterator.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2010-06-01 17:44:33 +0000
committerPaul Phillips <paulp@improving.org>2010-06-01 17:44:33 +0000
commitf3d87c08f6bcdb864e6990194668ad6dc16826a9 (patch)
treee2ce1bae13f4e9a62b267884dcb7824329b46388 /src/library/scala/collection/Iterator.scala
parent8acca208ae541e44f306a50c210e2626f571332b (diff)
downloadscala-f3d87c08f6bcdb864e6990194668ad6dc16826a9.tar.gz
scala-f3d87c08f6bcdb864e6990194668ad6dc16826a9.tar.bz2
scala-f3d87c08f6bcdb864e6990194668ad6dc16826a9.zip
Make Iterator.toStream be properly lazy.
Diffstat (limited to 'src/library/scala/collection/Iterator.scala')
-rw-r--r--src/library/scala/collection/Iterator.scala3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/library/scala/collection/Iterator.scala b/src/library/scala/collection/Iterator.scala
index daa6a59f3b..b8dd03110d 100644
--- a/src/library/scala/collection/Iterator.scala
+++ b/src/library/scala/collection/Iterator.scala
@@ -1007,6 +1007,9 @@ trait Iterator[+A] extends TraversableOnce[A] {
def toTraversable: Traversable[A] = toStream
def toIterator: Iterator[A] = self
+ def toStream: Stream[A] =
+ if (self.hasNext) Stream.cons(self.next, self.toStream)
+ else Stream.empty[A]
/** Converts this iterator to a string.
* @return `"empty iterator"` or `"non-empty iterator"`, depending on whether or not the iterator is empty.