diff options
Diffstat (limited to 'src/library/scala/collection/parallel/ParMap.scala')
-rw-r--r-- | src/library/scala/collection/parallel/ParMap.scala | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/library/scala/collection/parallel/ParMap.scala b/src/library/scala/collection/parallel/ParMap.scala index c696099007..58197ab2c6 100644 --- a/src/library/scala/collection/parallel/ParMap.scala +++ b/src/library/scala/collection/parallel/ParMap.scala @@ -50,6 +50,10 @@ self => def empty: ParMap[K, V] = new mutable.ParHashMap[K, V] override def stringPrefix = "ParMap" + + override def updated [U >: V](key: K, value: U): ParMap[K, U] = this + ((key, value)) + + def + [U >: V](kv: (K, U)): ParMap[K, U] } @@ -61,6 +65,15 @@ object ParMap extends ParMapFactory[ParMap] { implicit def canBuildFrom[K, V]: CanCombineFrom[Coll, (K, V), ParMap[K, V]] = new CanCombineFromMap[K, V] + /** An abstract shell used by { mutable, immutable }.Map but not by collection.Map + * because of variance issues. + */ + abstract class WithDefault[A, +B](underlying: ParMap[A, B], d: A => B) extends ParMap[A, B] { + override def size = underlying.size + def get(key: A) = underlying.get(key) + def splitter = underlying.splitter + override def default(key: A): B = d(key) + } } |