diff options
author | Aleksandar Pokopec <aleksandar.prokopec@epfl.ch> | 2011-03-22 18:22:25 +0000 |
---|---|---|
committer | Aleksandar Pokopec <aleksandar.prokopec@epfl.ch> | 2011-03-22 18:22:25 +0000 |
commit | e579152f7329a314607d33c7e3761b769b93518d (patch) | |
tree | e1ff4d301bdf7bc11b30f047645698f6aa82f800 /src/library/scala/collection/mutable | |
parent | 60d9a5127cf190c90e2e3ce4f79455469dac54eb (diff) | |
download | scala-e579152f7329a314607d33c7e3761b769b93518d.tar.gz scala-e579152f7329a314607d33c7e3761b769b93518d.tar.bz2 scala-e579152f7329a314607d33c7e3761b769b93518d.zip |
Implementing foreach to work in parallel in Par...
Implementing foreach to work in parallel in ParIterableLike.
Doing a bunch of refactoring around in the collection framework to
ensure a parallel foreach is never called with a side-effecting method.
This still leaves other parts of the standard library and the compiler
unguarded.
No review.
Diffstat (limited to 'src/library/scala/collection/mutable')
-rw-r--r-- | src/library/scala/collection/mutable/ArrayStack.scala | 2 | ||||
-rw-r--r-- | src/library/scala/collection/mutable/MapLike.scala | 2 | ||||
-rw-r--r-- | src/library/scala/collection/mutable/Stack.scala | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/src/library/scala/collection/mutable/ArrayStack.scala b/src/library/scala/collection/mutable/ArrayStack.scala index 3172d296dc..13f709ba39 100644 --- a/src/library/scala/collection/mutable/ArrayStack.scala +++ b/src/library/scala/collection/mutable/ArrayStack.scala @@ -160,7 +160,7 @@ extends Seq[T] * @param x The source of elements to push. * @return A reference to this stack. */ - override def ++=(xs: TraversableOnce[T]): this.type = { xs foreach += ; this } + override def ++=(xs: TraversableOnce[T]): this.type = { xs.seq foreach += ; this } /** Does the same as `push`, but returns the updated stack. * diff --git a/src/library/scala/collection/mutable/MapLike.scala b/src/library/scala/collection/mutable/MapLike.scala index 04ba8608b9..d0df44b69a 100644 --- a/src/library/scala/collection/mutable/MapLike.scala +++ b/src/library/scala/collection/mutable/MapLike.scala @@ -206,7 +206,7 @@ trait MapLike[A, B, +This <: MapLike[A, B, This] with Map[A, B]] * @param p The test predicate */ def retain(p: (A, B) => Boolean): this.type = { - for ((k, v) <- this ; if !p(k, v)) + for ((k, v) <- this.seq ; if !p(k, v)) this -= k this diff --git a/src/library/scala/collection/mutable/Stack.scala b/src/library/scala/collection/mutable/Stack.scala index 1433524107..0d1746b33b 100644 --- a/src/library/scala/collection/mutable/Stack.scala +++ b/src/library/scala/collection/mutable/Stack.scala @@ -121,7 +121,7 @@ extends Seq[A] * @param xs the traversable object. * @return the stack with the new elements on top. */ - def pushAll(xs: TraversableOnce[A]): this.type = { xs foreach push ; this } + def pushAll(xs: TraversableOnce[A]): this.type = { xs.seq foreach push ; this } @deprecated("use pushAll") @migration(2, 8, "Stack ++= now pushes arguments on the stack from left to right.") |