Closed
Description
Hi all! Following semantically correct code throws weird runtime error:
import scala.compat.java8.StreamConverters._
import java.util.stream.Collectors
val sampleItems = Iterator.fill(120)("a").toVector
val subset = sampleItems.slice(0, 40)
val subsetAsStream = subset.seqStream
// Throws
// java.lang.NullPointerException:
// at scala.compat.java8.converterImpl.StepsAnyVector.next(StepsVector.scala:66)
// at scala.compat.java8.collectionImpl.AnyStepper.forEachRemaining(Stepper.scala:230)
// at scala.compat.java8.collectionImpl.AnyStepper.forEachRemaining$(Stepper.scala:230)
// at scala.compat.java8.converterImpl.StepsLikeIndexed.forEachRemaining(StepsLikeIndexed.scala:28)
// at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
// at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
// at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
// at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
// at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
val subsetAsJList = subsetAsStream.collect(Collectors.toList())