diff options
-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) } } |