summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2014-02-15 14:47:37 -0800
committerAdriaan Moors <adriaan.moors@typesafe.com>2014-02-15 14:47:37 -0800
commit81e12bdb26b75e0a8c289662d02cc6551268f7d3 (patch)
treeafea36e06e039f202224764cf1976830a1c920e2
parentbe475e16295409cdd7218bb971b7e80048e3ee4f (diff)
parenta63193c1a89e51636aa917d486fd954a7bd9b074 (diff)
downloadscala-81e12bdb26b75e0a8c289662d02cc6551268f7d3.tar.gz
scala-81e12bdb26b75e0a8c289662d02cc6551268f7d3.tar.bz2
scala-81e12bdb26b75e0a8c289662d02cc6551268f7d3.zip
Merge pull request #3528 from Ichoran/issue/6908
SI-6908 FlatHashTable and things that depend on it can't store nulls
-rw-r--r--src/library/scala/collection/parallel/mutable/ParFlatHashTable.scala8
-rw-r--r--test/files/run/t6908.scala6
2 files changed, 10 insertions, 4 deletions
diff --git a/src/library/scala/collection/parallel/mutable/ParFlatHashTable.scala b/src/library/scala/collection/parallel/mutable/ParFlatHashTable.scala
index afc2d6e987..62165ae0d2 100644
--- a/src/library/scala/collection/parallel/mutable/ParFlatHashTable.scala
+++ b/src/library/scala/collection/parallel/mutable/ParFlatHashTable.scala
@@ -28,12 +28,12 @@ trait ParFlatHashTable[T] extends scala.collection.mutable.FlatHashTable[T] {
extends IterableSplitter[T] with SizeMapUtils {
import scala.collection.DebugUtils._
- private var traversed = 0
- private val itertable = table
+ private[this] var traversed = 0
+ private[this] val itertable = table
if (hasNext) scan()
- private def scan() {
+ private[this] def scan() {
while (itertable(idx) eq null) {
idx += 1
}
@@ -44,7 +44,7 @@ trait ParFlatHashTable[T] extends scala.collection.mutable.FlatHashTable[T] {
def remaining = totalsize - traversed
def hasNext = traversed < totalsize
def next() = if (hasNext) {
- val r = itertable(idx).asInstanceOf[T]
+ val r = entryToElem(itertable(idx))
traversed += 1
idx += 1
if (hasNext) scan()
diff --git a/test/files/run/t6908.scala b/test/files/run/t6908.scala
new file mode 100644
index 0000000000..a641de96b9
--- /dev/null
+++ b/test/files/run/t6908.scala
@@ -0,0 +1,6 @@
+object Test {
+ def main(args: Array[String]) {
+ val set = collection.mutable.Set("1", null, "3").par
+ assert( set exists (_ eq null) )
+ }
+}