diff options
-rw-r--r-- | src/library/scala/collection/parallel/mutable/ParFlatHashTable.scala | 8 | ||||
-rw-r--r-- | test/files/run/t6908.scala | 6 |
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) ) + } +} |