diff options
author | Paul Phillips <paulp@improving.org> | 2011-03-02 05:53:44 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2011-03-02 05:53:44 +0000 |
commit | ba1312d195d768308602faf8ed731c0a4c305703 (patch) | |
tree | 8bc8cd6ba1dd9df87bd8c88e7039caf5482767f1 | |
parent | 8f0878683ab1540083586f11b9ba74d0fd37450a (diff) | |
download | scala-ba1312d195d768308602faf8ed731c0a4c305703.tar.gz scala-ba1312d195d768308602faf8ed731c0a4c305703.tar.bz2 scala-ba1312d195d768308602faf8ed731c0a4c305703.zip |
Made Stream.collect collect instead of filter.
Glad to see there was a test case; but we have to push harder when
writing tests to include the key characteristics of the function being
tested. No review.
-rw-r--r-- | src/library/scala/collection/immutable/Stream.scala | 2 | ||||
-rw-r--r-- | test/files/run/t4294.scala | 6 |
2 files changed, 3 insertions, 5 deletions
diff --git a/src/library/scala/collection/immutable/Stream.scala b/src/library/scala/collection/immutable/Stream.scala index 771b945dec..50b086a881 100644 --- a/src/library/scala/collection/immutable/Stream.scala +++ b/src/library/scala/collection/immutable/Stream.scala @@ -690,7 +690,7 @@ object Stream extends SeqFactory[Stream] { } private[immutable] def collectedTail[A, B, That](stream: Stream[A], pf: PartialFunction[A, B], bf: CanBuildFrom[Stream[A], B, That]) = { - new Stream.Cons(stream.head, stream.tail.collect(pf)(bf).asInstanceOf[Stream[B]]) + new Stream.Cons(pf(stream.head), stream.tail.collect(pf)(bf).asInstanceOf[Stream[B]]) } /** A stream containing all elements of a given iterator, in the order they are produced. diff --git a/test/files/run/t4294.scala b/test/files/run/t4294.scala index 588fa90f76..50c83ac819 100644 --- a/test/files/run/t4294.scala +++ b/test/files/run/t4294.scala @@ -1,9 +1,7 @@ - - - - object Test { def main(args: Array[String]) { (Stream.from(1).collect{case x if x > 5000000 => x}: Stream[Int]) + + assert((Stream from 1 take 10 collect { case x if x <= 3 => x*x }).sum == 14) } } |