summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksandar Pokopec <aleksandar.prokopec@epfl.ch>2011-09-28 11:26:12 +0000
committerAleksandar Pokopec <aleksandar.prokopec@epfl.ch>2011-09-28 11:26:12 +0000
commit9ef01e68851ae6045ce4dd1aa7d5f921a4bc7f0d (patch)
tree633d4cc962a46f33679cd459b1347434772efd79
parent888444b17508abc594b35f8a195aac60a28e12fc (diff)
downloadscala-9ef01e68851ae6045ce4dd1aa7d5f921a4bc7f0d.tar.gz
scala-9ef01e68851ae6045ce4dd1aa7d5f921a4bc7f0d.tar.bz2
scala-9ef01e68851ae6045ce4dd1aa7d5f921a4bc7f0d.zip
Fixes #4894.
Adds Growable and Shrinkable to parallel maps and sets. No review.
-rw-r--r--src/library/scala/collection/parallel/mutable/ParMapLike.scala8
-rw-r--r--src/library/scala/collection/parallel/mutable/ParSetLike.scala7
-rw-r--r--test/files/run/t4894.scala27
3 files changed, 37 insertions, 5 deletions
diff --git a/src/library/scala/collection/parallel/mutable/ParMapLike.scala b/src/library/scala/collection/parallel/mutable/ParMapLike.scala
index aff590d5bb..5c69c2e045 100644
--- a/src/library/scala/collection/parallel/mutable/ParMapLike.scala
+++ b/src/library/scala/collection/parallel/mutable/ParMapLike.scala
@@ -14,6 +14,8 @@ package mutable
import collection.generic._
import collection.mutable.Builder
import collection.mutable.Cloneable
+import collection.generic.Growable
+import collection.generic.Shrinkable
@@ -34,8 +36,10 @@ trait ParMapLike[K,
+Sequential <: collection.mutable.Map[K, V] with collection.mutable.MapLike[K, V, Sequential]]
extends collection.GenMapLike[K, V, Repr]
with collection.parallel.ParMapLike[K, V, Repr, Sequential]
- with Cloneable[Repr] {
-
+ with Growable[(K, V)]
+ with Shrinkable[K]
+ with Cloneable[Repr]
+{
// note: should not override toMap
def put(key: K, value: V): Option[V]
diff --git a/src/library/scala/collection/parallel/mutable/ParSetLike.scala b/src/library/scala/collection/parallel/mutable/ParSetLike.scala
index 7c9767befd..969fc2a405 100644
--- a/src/library/scala/collection/parallel/mutable/ParSetLike.scala
+++ b/src/library/scala/collection/parallel/mutable/ParSetLike.scala
@@ -16,9 +16,8 @@ import scala.collection.mutable.Set
import scala.collection.mutable.Builder
import scala.collection.mutable.Cloneable
import scala.collection.GenSetLike
-
-
-
+import scala.collection.generic.Growable
+import scala.collection.generic.Shrinkable
@@ -38,6 +37,8 @@ trait ParSetLike[T,
extends GenSetLike[T, Repr]
with collection.parallel.ParIterableLike[T, Repr, Sequential]
with collection.parallel.ParSetLike[T, Repr, Sequential]
+ with Growable[T]
+ with Shrinkable[T]
with Cloneable[Repr]
{
self =>
diff --git a/test/files/run/t4894.scala b/test/files/run/t4894.scala
new file mode 100644
index 0000000000..2b70da141d
--- /dev/null
+++ b/test/files/run/t4894.scala
@@ -0,0 +1,27 @@
+
+
+
+
+
+object Test {
+
+ def main(args: Array[String]) {
+ import collection._
+ val hs = mutable.HashSet[Int]()
+ hs ++= 1 to 10
+ hs --= 1 to 10
+
+ val phs = parallel.mutable.ParHashSet[Int]()
+ phs ++= 1 to 10
+ for (i <- 1 to 10) assert(phs(i))
+ phs --= 1 to 10
+ assert(phs.isEmpty)
+
+ val phm = parallel.mutable.ParHashMap[Int, Int]()
+ phm ++= ((1 to 10) zip (1 to 10))
+ for (i <- 1 to 10) assert(phm(i) == i)
+ phm --= 1 to 10
+ assert(phm.isEmpty)
+ }
+
+}