From d0554f2b8dfbdc845196f7a86f497fd44debfecb Mon Sep 17 00:00:00 2001 From: Jason Zaugg Date: Mon, 28 Mar 2022 09:27:20 +1000 Subject: [PATCH] Fix NPE regression in Vector.prependedAll Also make a corresponding fix to appenededAll. This isn't exercised by the test case though. --- src/library/scala/collection/immutable/Vector.scala | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/library/scala/collection/immutable/Vector.scala b/src/library/scala/collection/immutable/Vector.scala index 9f76576f2dba..4dfa024c0cec 100644 --- a/src/library/scala/collection/immutable/Vector.scala +++ b/src/library/scala/collection/immutable/Vector.scala @@ -193,13 +193,15 @@ sealed abstract class Vector[+A] private[immutable] (private[immutable] final va override def prepended[B >: A](elem: B): Vector[B] = super.prepended(elem) override def prependedAll[B >: A](prefix: collection.IterableOnce[B]): Vector[B] = { val k = prefix.knownSize - if(k == 0) this + if (k == 0) this + else if (k < 0) super.prependedAll(prefix) else prependedAll0(prefix, k) } override final def appendedAll[B >: A](suffix: collection.IterableOnce[B]): Vector[B] = { val k = suffix.knownSize - if(k == 0) this + if (k == 0) this + else if (k < 0) super.appendedAll(prefix) else appendedAll0(suffix, k) }