diff options
author | Martin Odersky <odersky@gmail.com> | 2007-12-11 20:26:42 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2007-12-11 20:26:42 +0000 |
commit | 81c78662cb3b34041c97c169597d1f0552636298 (patch) | |
tree | 94a3945c1d338d6755e041d9a913a56bf2e52aba | |
parent | 65e20dbbf95ba5a1c86ae56732527ac2c9485b13 (diff) | |
download | scala-81c78662cb3b34041c97c169597d1f0552636298.tar.gz scala-81c78662cb3b34041c97c169597d1f0552636298.tar.bz2 scala-81c78662cb3b34041c97c169597d1f0552636298.zip |
fixed problem with Stream.flatMap, changed text...
fixed problem with Stream.flatMap, changed text of error message for
assume failure in Predef.
-rw-r--r-- | src/library/scala/Predef.scala | 2 | ||||
-rw-r--r-- | src/library/scala/Stream.scala | 13 |
2 files changed, 4 insertions, 11 deletions
diff --git a/src/library/scala/Predef.scala b/src/library/scala/Predef.scala index d099fbe8b0..2ecc8fa119 100644 --- a/src/library/scala/Predef.scala +++ b/src/library/scala/Predef.scala @@ -103,7 +103,7 @@ object Predef { def assume(assumption: Boolean, message: Any) { if (!assumption) - throw new IllegalArgumentException("assumption failed: " + message) + throw new IllegalArgumentException(message.toString) } // tupling ------------------------------------------------------------ diff --git a/src/library/scala/Stream.scala b/src/library/scala/Stream.scala index fb8f5e92bd..a771e1d217 100644 --- a/src/library/scala/Stream.scala +++ b/src/library/scala/Stream.scala @@ -431,16 +431,9 @@ trait Stream[+A] extends Seq.Projection[A] { * @return <code>f(a<sub>0</sub>) ::: ... ::: f(a<sub>n</sub>)</code> if * this stream is <code>[a<sub>0</sub>, ..., a<sub>n</sub>]</code>. */ - override def flatMap[B](f: A => Iterable[B]): Stream[B] = { - var acc: Stream[B] = Stream.empty - var these = this - while (!these.isEmpty) { - val those = f(these.head) - if (!those.isEmpty) acc = acc append those.toStream - these = these.tail - } - acc - } + override def flatMap[B](f: A => Iterable[B]): Stream[B] = + if (isEmpty) Stream.empty + else Stream.fromIterator(f(head).elements) append (tail flatMap f) override def toStream = this |