summaryrefslogtreecommitdiff
path: root/src/library
diff options
context:
space:
mode:
authorŁukasz Gieroń <lgieron@gmail.com>2016-05-23 15:17:24 +0200
committerLukas Rytz <lukas.rytz@typesafe.com>2016-05-23 15:17:24 +0200
commit41965695b71bc00ea60003c39c72a0e10bfd621f (patch)
treea9fa9f77ba80dfd3b9d5ba2ae47c228de87a5733 /src/library
parent0d0671ae10ef552d66861248fa087306c960520e (diff)
downloadscala-41965695b71bc00ea60003c39c72a0e10bfd621f.tar.gz
scala-41965695b71bc00ea60003c39c72a0e10bfd621f.tar.bz2
scala-41965695b71bc00ea60003c39c72a0e10bfd621f.zip
SI-9688 Make merge in immutable HashMap1 work with null kv.
The kv field of scala.collection.immutable.HashMap.HashMap1 can be null. This commit corrects the behavior of updated0 (which is on call path for merged) to work in such cases, instead of throwing NPE. Commit contains regression test.
Diffstat (limited to 'src/library')
-rw-r--r--src/library/scala/collection/immutable/HashMap.scala2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/library/scala/collection/immutable/HashMap.scala b/src/library/scala/collection/immutable/HashMap.scala
index 92d915fe8b..3e482f1369 100644
--- a/src/library/scala/collection/immutable/HashMap.scala
+++ b/src/library/scala/collection/immutable/HashMap.scala
@@ -197,7 +197,7 @@ object HashMap extends ImmutableMapFactory[HashMap] with BitOperations.Int {
if (this.value.asInstanceOf[AnyRef] eq value.asInstanceOf[AnyRef]) this
else new HashMap1(key, hash, value, kv)
} else {
- val nkv = merger(this.kv, kv)
+ val nkv = merger(this.ensurePair, if(kv != null) kv else (key, value))
new HashMap1(nkv._1, hash, nkv._2, nkv)
}
} else {