summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/library/scala/collection/immutable/Stream.scala2
-rw-r--r--test/files/run/t4294.scala6
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)
}
}