diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4953fbc8..d9ad3c19 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,5 +1,7 @@ name: test on: + schedule: + - cron: '0 0 * * *' push: branches: - main @@ -9,17 +11,47 @@ jobs: strategy: fail-fast: false matrix: - java: [8, 11, 17] - scala: [2.13.6, 3.0.2] + java: [8, 11, 17, 21] + scala: [2.13.x, 3.x] runs-on: ubuntu-latest + if: ${{ github.event_name != 'schedule' }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: fetch-depth: 0 - uses: coursier/cache-action@v6 - - uses: actions/setup-java@v2 + - uses: actions/setup-java@v4 with: - distribution: adopt + distribution: temurin java-version: ${{matrix.java}} + - uses: sbt/setup-sbt@v1 + - name: Test JVM + run: sbt "setScalaVersion ${{matrix.scala}}" testJVM core/headerCheck package + - name: Test Native + run: sbt "setScalaVersion ${{matrix.scala}}" testNative + + test-rc: + strategy: + fail-fast: false + matrix: + java: [8] + scala: [3.next] + runs-on: ubuntu-latest + if: "github.event_name == 'schedule' && github.repository == 'scala/scala-parallel-collections' + || github.event_name == 'push' + || ( + github.event_name == 'pull_request' + && contains(github.event.pull_request.body, '[test-rc]') + )" + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - uses: coursier/cache-action@v6 + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: ${{matrix.java}} + - uses: sbt/setup-sbt@v1 - name: Test - run: sbt ++${{matrix.scala}} test core/headerCheck package + run: sbt "setScalaVersion ${{matrix.scala}}" testJVM core/headerCheck package diff --git a/.github/workflows/cla.yml b/.github/workflows/cla.yml new file mode 100644 index 00000000..3549dedc --- /dev/null +++ b/.github/workflows/cla.yml @@ -0,0 +1,11 @@ +name: "Check Scala CLA" +on: + pull_request: +jobs: + cla-check: + runs-on: ubuntu-latest + steps: + - name: Verify CLA + uses: scala/cla-checker@v1 + with: + author: ${{ github.event.pull_request.user.login }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dc337111..1e5360b8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,13 +6,14 @@ jobs: publish: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: actions/setup-java@v2 + - uses: actions/setup-java@v4 with: - distribution: adopt + distribution: temurin java-version: 8 + - uses: sbt/setup-sbt@v1 - run: sbt versionCheck ci-release env: PGP_PASSPHRASE: ${{secrets.PGP_PASSPHRASE}} diff --git a/NOTICE b/NOTICE index dc33ca7d..438b7209 100644 --- a/NOTICE +++ b/NOTICE @@ -1,10 +1,10 @@ Scala parallel collections -Copyright (c) 2002-2021 EPFL -Copyright (c) 2011-2021 Lightbend, Inc. +Copyright (c) 2002-2025 EPFL +Copyright (c) 2011-2025 Lightbend, Inc. dba Akka Scala includes software developed at LAMP/EPFL (https://lamp.epfl.ch/) and -Lightbend, Inc. (https://www.lightbend.com/). +Akka (https://akka.io/). Licensed under the Apache License, Version 2.0 (the "License"). Unless required by applicable law or agreed to in writing, software diff --git a/README.md b/README.md index b9422b59..54153f62 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ omitted from projects that do not use parallel collections. ## Maintenance status -This module is community-maintained, under the guidance of the Scala team at Lightbend. If you are +This module is community-maintained, under the guidance of the Scala team at Akka. If you are interested in participating, please jump right in on issues and pull requests. @@ -24,7 +24,7 @@ To depend on scala-parallel-collections in sbt, add this to your `build.sbt`: ```scala libraryDependencies += - "org.scala-lang.modules" %% "scala-parallel-collections" % "1.0.3" + "org.scala-lang.modules" %% "scala-parallel-collections" % "" ``` In your code, adding this import: @@ -46,7 +46,7 @@ libraryDependencies ++= { case Some((2, major)) if major <= 12 => Seq() case _ => - Seq("org.scala-lang.modules" %% "scala-parallel-collections" % "1.0.3") + Seq("org.scala-lang.modules" %% "scala-parallel-collections" % "") } } ``` diff --git a/build.sbt b/build.sbt index 78b10af6..d42967e5 100644 --- a/build.sbt +++ b/build.sbt @@ -1,24 +1,21 @@ -ThisBuild / crossScalaVersions := Seq("2.13.6", "3.0.2") -ThisBuild / scalaVersion := (ThisBuild / crossScalaVersions).value.head +val scalaVersions = Seq("2.13.15", "3.3.4") +val defaultScalaVersion = scalaVersions.head -// shouldn't be necessary anymore after https://github.com/lampepfl/dotty/pull/13498 -// makes it into a release -ThisBuild / libraryDependencySchemes += "org.scala-lang" %% "scala3-library" % "semver-spec" +// When defining JVM / Scala Native matrix we don't want duplicated projects for Scala 2/3 +val matrixScalaVersions = Seq(defaultScalaVersion) -// this was necessary to get us from 3.0.0 to 3.0.2, but we should be able to remove -// it after the next release -import com.typesafe.tools.mima.core._ -ThisBuild / mimaBinaryIssueFilters ++= Seq( - ProblemFilters.exclude[IncompatibleSignatureProblem]("*"), -) +ThisBuild / crossScalaVersions := scalaVersions +ThisBuild / scalaVersion := defaultScalaVersion +Global / concurrentRestrictions += Tags.limit(NativeTags.Link, 1) Global / cancelable := true publish / skip := true // in root lazy val commonSettings: Seq[Setting[_]] = Seq(scalaModuleAutomaticModuleName := Some("scala.collection.parallel")) ++ ScalaModulePlugin.scalaModuleSettings ++ Seq( - versionPolicyIntention := Compatibility.BinaryAndSourceCompatible, + versionPolicyIntention := Compatibility.BinaryCompatible, + crossScalaVersions := scalaVersions, Compile / compile / scalacOptions --= (CrossVersion.partialVersion(scalaVersion.value) match { case Some((3, _)) => Seq("-Xlint") case _ => Seq() @@ -29,40 +26,96 @@ lazy val commonSettings: Seq[Setting[_]] = }), ) -lazy val core = project.in(file("core")) +lazy val testNativeSettings: Seq[Setting[_]] = Seq( + // Required by Scala Native testing infrastructure + Test / fork := false, +) + +lazy val core = projectMatrix.in(file("core")) .settings(commonSettings) .settings( name := "scala-parallel-collections", Compile / doc / autoAPIMappings := true, ) + .jvmPlatform(matrixScalaVersions) + .nativePlatform(matrixScalaVersions, settings = testNativeSettings ++ Seq( + versionPolicyPreviousArtifacts := Nil, // TODO: not yet published + mimaPreviousArtifacts := Set.empty + )) -lazy val junit = project.in(file("junit")) +lazy val junit = projectMatrix.in(file("junit")) .settings(commonSettings) .settings( - libraryDependencies += "com.novocode" % "junit-interface" % "0.11" % Test, - libraryDependencies += "junit" % "junit" % "4.13.2" % Test, - // for javax.xml.bind.DatatypeConverter, used in SerializationStabilityTest - libraryDependencies += "javax.xml.bind" % "jaxb-api" % "2.3.1" % Test, testOptions += Tests.Argument(TestFrameworks.JUnit, "-a", "-v"), - Test / fork := true, publish / skip := true, ).dependsOn(testmacros, core) + .jvmPlatform(matrixScalaVersions, + settings = Seq( + libraryDependencies += "com.github.sbt" % "junit-interface" % "0.13.3" % Test, + libraryDependencies += "junit" % "junit" % "4.13.2" % Test, + // for javax.xml.bind.DatatypeConverter, used in SerializationStabilityTest + libraryDependencies += "javax.xml.bind" % "jaxb-api" % "2.3.1" % Test, + Test / fork := true, + ) + ) + .nativePlatform(matrixScalaVersions, + axisValues = Nil, + configure = _ + .enablePlugins(ScalaNativeJUnitPlugin) + .settings( + Test/unmanagedSources/excludeFilter ~= { _ || + "SerializationTest.scala" || // requires ObjectOutputStream + "SerializationStability.scala" || // requires jaxb-api + "SerializationStabilityBase.scala" || + "SerializationStabilityTest.scala" + }, + Test / fork := false + ) + ) -lazy val scalacheck = project.in(file("scalacheck")) +lazy val scalacheck = projectMatrix.in(file("scalacheck")) .settings(commonSettings) .settings( - libraryDependencies += "org.scalacheck" %% "scalacheck" % "1.15.4", - Test / fork := true, + libraryDependencies += "org.scalacheck" %%% "scalacheck" % "1.18.1", Test / testOptions += Tests.Argument(TestFrameworks.ScalaCheck, "-workers", "1", "-minSize", "0", "-maxSize", "4000", "-minSuccessfulTests", "5"), publish / skip := true - ).dependsOn(core) + ) + .dependsOn(core) + .jvmPlatform(matrixScalaVersions, + settings = Seq( + Test / fork := true + ) + ) + .nativePlatform(matrixScalaVersions, settings = testNativeSettings) -lazy val testmacros = project.in(file("testmacros")) +lazy val testmacros = projectMatrix.in(file("testmacros")) .settings(commonSettings) .settings( - libraryDependencies += (CrossVersion.partialVersion(scalaVersion.value) match { - case Some((3, _)) => scalaOrganization.value %% "scala3-compiler" % scalaVersion.value - case _ => scalaOrganization.value % "scala-compiler" % scalaVersion.value + libraryDependencies ++= (CrossVersion.partialVersion(scalaVersion.value) match { + case Some((3, _)) => Nil + case _ => List(scalaOrganization.value % "scala-compiler" % scalaVersion.value) }), publish / skip := true, ) + .jvmPlatform(matrixScalaVersions) + .nativePlatform(matrixScalaVersions, settings = testNativeSettings) + +commands += Command.single("setScalaVersion") { (state, arg) => + val command = arg match { + case "3.next" => s"++${GetScala3Next.get()}!" + case _ => s"++$arg" + } + command :: state +} + +import sbt.internal.{ProjectMatrix, ProjectFinder} +def testPlatformCommand(name: String, selector: ProjectMatrix => ProjectFinder): Command = + Command.command(name) { state => + List(junit, scalacheck, testmacros) + .flatMap(selector(_).get) + .map{ project => s"${project.id}/test"} + .toList ::: state + } + +commands += testPlatformCommand("testNative", _.native) +commands += testPlatformCommand("testJVM", _.jvm) diff --git a/core/src/main/scala/scala/collection/CustomParallelizable.scala b/core/src/main/scala/scala/collection/CustomParallelizable.scala index 51dbec3b..b57caa78 100644 --- a/core/src/main/scala/scala/collection/CustomParallelizable.scala +++ b/core/src/main/scala/scala/collection/CustomParallelizable.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/DebugUtils.scala b/core/src/main/scala/scala/collection/DebugUtils.scala index 76389969..a81ab457 100644 --- a/core/src/main/scala/scala/collection/DebugUtils.scala +++ b/core/src/main/scala/scala/collection/DebugUtils.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/Parallel.scala b/core/src/main/scala/scala/collection/Parallel.scala index 8b2ff4aa..64c1555c 100644 --- a/core/src/main/scala/scala/collection/Parallel.scala +++ b/core/src/main/scala/scala/collection/Parallel.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/Parallelizable.scala b/core/src/main/scala/scala/collection/Parallelizable.scala index 0825f6f1..6465ef78 100644 --- a/core/src/main/scala/scala/collection/Parallelizable.scala +++ b/core/src/main/scala/scala/collection/Parallelizable.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/generic/CanCombineFrom.scala b/core/src/main/scala/scala/collection/generic/CanCombineFrom.scala index 16367d0b..6b827ac8 100644 --- a/core/src/main/scala/scala/collection/generic/CanCombineFrom.scala +++ b/core/src/main/scala/scala/collection/generic/CanCombineFrom.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/generic/GenericParCompanion.scala b/core/src/main/scala/scala/collection/generic/GenericParCompanion.scala index ab79b60b..194ae650 100644 --- a/core/src/main/scala/scala/collection/generic/GenericParCompanion.scala +++ b/core/src/main/scala/scala/collection/generic/GenericParCompanion.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/generic/GenericParTemplate.scala b/core/src/main/scala/scala/collection/generic/GenericParTemplate.scala index e98e1a93..6ad72d65 100644 --- a/core/src/main/scala/scala/collection/generic/GenericParTemplate.scala +++ b/core/src/main/scala/scala/collection/generic/GenericParTemplate.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/generic/GenericTraversableTemplate.scala b/core/src/main/scala/scala/collection/generic/GenericTraversableTemplate.scala index c541bc58..838aff9e 100644 --- a/core/src/main/scala/scala/collection/generic/GenericTraversableTemplate.scala +++ b/core/src/main/scala/scala/collection/generic/GenericTraversableTemplate.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/generic/HasNewBuilder.scala b/core/src/main/scala/scala/collection/generic/HasNewBuilder.scala index 7c407dc3..84bf47f0 100644 --- a/core/src/main/scala/scala/collection/generic/HasNewBuilder.scala +++ b/core/src/main/scala/scala/collection/generic/HasNewBuilder.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/generic/HasNewCombiner.scala b/core/src/main/scala/scala/collection/generic/HasNewCombiner.scala index 568e6d96..c7afe2c3 100644 --- a/core/src/main/scala/scala/collection/generic/HasNewCombiner.scala +++ b/core/src/main/scala/scala/collection/generic/HasNewCombiner.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/generic/ParFactory.scala b/core/src/main/scala/scala/collection/generic/ParFactory.scala index 438bc469..7f9af5dd 100644 --- a/core/src/main/scala/scala/collection/generic/ParFactory.scala +++ b/core/src/main/scala/scala/collection/generic/ParFactory.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). @@ -39,7 +39,7 @@ extends GenericParCompanion[CC] { def concat[A](xss: Iterable[A]*): CC[A] = { val b = newBuilder[A] // At present we're using IndexedSeq as a proxy for "has a cheap size method". - if (xss forall (_.isInstanceOf[IndexedSeq[_]])) + if (xss forall (_.isInstanceOf[IndexedSeq[?]])) b.sizeHint(xss.map(_.size).sum) for (xs <- xss) b ++= xs diff --git a/core/src/main/scala/scala/collection/generic/ParMapFactory.scala b/core/src/main/scala/scala/collection/generic/ParMapFactory.scala index 0aea7fc7..3c699076 100644 --- a/core/src/main/scala/scala/collection/generic/ParMapFactory.scala +++ b/core/src/main/scala/scala/collection/generic/ParMapFactory.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/generic/ParSetFactory.scala b/core/src/main/scala/scala/collection/generic/ParSetFactory.scala index bae890ef..65e17ea6 100644 --- a/core/src/main/scala/scala/collection/generic/ParSetFactory.scala +++ b/core/src/main/scala/scala/collection/generic/ParSetFactory.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). @@ -22,7 +22,7 @@ import scala.collection.parallel.ParSetLike * @define factoryInfo * This object provides a set of operations needed to create `$Coll` values. */ -abstract class ParSetFactory[CC[X] <: ParSet[X] with ParSetLike[X, CC, CC[X], _] with GenericParTemplate[X, CC]] +abstract class ParSetFactory[CC[X] <: ParSet[X] with ParSetLike[X, CC, CC[X], ?] with GenericParTemplate[X, CC]] extends GenericParCompanion[CC] { def newBuilder[A]: Combiner[A, CC[A]] = newCombiner[A] diff --git a/core/src/main/scala/scala/collection/generic/Signalling.scala b/core/src/main/scala/scala/collection/generic/Signalling.scala index 886295cf..3e1ebe6f 100644 --- a/core/src/main/scala/scala/collection/generic/Signalling.scala +++ b/core/src/main/scala/scala/collection/generic/Signalling.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/generic/Sizing.scala b/core/src/main/scala/scala/collection/generic/Sizing.scala index 43be8cb8..b586c45b 100644 --- a/core/src/main/scala/scala/collection/generic/Sizing.scala +++ b/core/src/main/scala/scala/collection/generic/Sizing.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/immutable/OldHashMap.scala b/core/src/main/scala/scala/collection/immutable/OldHashMap.scala index f4f5c0f4..f4d0a61c 100644 --- a/core/src/main/scala/scala/collection/immutable/OldHashMap.scala +++ b/core/src/main/scala/scala/collection/immutable/OldHashMap.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). @@ -35,6 +35,7 @@ import scala.collection.mutable.{Builder, ImmutableBuilder} * @define mayNotTerminateInf * @define willNotTerminateInf */ +@SerialVersionUID(-2425602972438308285L) sealed abstract class OldHashMap[K, +V] extends AbstractMap[K, V] with MapOps[K, V, OldHashMap, OldHashMap[K, V]] @@ -422,13 +423,13 @@ object OldHashMap extends MapFactory[OldHashMap] { val sizeNew = size - sub.size // if we have only one child, which is not a HashTrieSet but a self-contained set like // HashSet1 or HashSetCollision1, return the child instead - if (elemsNew.length == 1 && !elemsNew(0).isInstanceOf[HashTrieMap[_,_]]) + if (elemsNew.length == 1 && !elemsNew(0).isInstanceOf[HashTrieMap[?,?]]) elemsNew(0) else new HashTrieMap(bitmapNew, elemsNew, sizeNew) } else OldHashMap.empty[K,V] - } else if(elems.length == 1 && !subNew.isInstanceOf[HashTrieMap[_,_]]) { + } else if(elems.length == 1 && !subNew.isInstanceOf[HashTrieMap[?,?]]) { subNew } else { val elemsNew = java.util.Arrays.copyOf(elems, elems.length) @@ -528,9 +529,9 @@ object OldHashMap extends MapFactory[OldHashMap] { } protected def merge0[V1 >: V](that: OldHashMap[K, V1], level: Int, merger: Merger[K, V1]): OldHashMap[K, V1] = that match { - case hm: OldHashMap1[_, _] => + case hm: OldHashMap1[?, ?] => this.updated0(hm.key, hm.hash, level, hm.value.asInstanceOf[V1], hm.kv, merger) - case hm: HashTrieMap[_, _] => + case hm: HashTrieMap[?, ?] => val that = hm.asInstanceOf[HashTrieMap[K, V1]] val thiselems = this.elems val thatelems = that.elems @@ -581,8 +582,8 @@ object OldHashMap extends MapFactory[OldHashMap] { } new HashTrieMap[K, V1](this.bitmap | that.bitmap, merged, totalelems) - case hm: OldHashMapCollision1[_, _] => that.merge0(this, level, merger.invert) - case hm: OldHashMap[_, _] => this + case hm: OldHashMapCollision1[?, ?] => that.merge0(this, level, merger.invert) + case hm: OldHashMap[?, ?] => this } } diff --git a/core/src/main/scala/scala/collection/immutable/OldHashSet.scala b/core/src/main/scala/scala/collection/immutable/OldHashSet.scala index 765581bd..bb5160b4 100644 --- a/core/src/main/scala/scala/collection/immutable/OldHashSet.scala +++ b/core/src/main/scala/scala/collection/immutable/OldHashSet.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). @@ -83,12 +83,12 @@ sealed abstract class OldHashSet[A] override def filter(p: A => Boolean) = { val buffer = new Array[OldHashSet[A]](bufferSize(size)) - nullToEmpty(filter0(p, false, 0, buffer, 0)) + nullToEmpty(filter0(p, negate = false, 0, buffer, 0)) } override def filterNot(p: A => Boolean) = { val buffer = new Array[OldHashSet[A]](bufferSize(size)) - nullToEmpty(filter0(p, true, 0, buffer, 0)) + nullToEmpty(filter0(p, negate = true, 0, buffer, 0)) } override def tail: OldHashSet[A] = this - head @@ -506,6 +506,7 @@ object OldHashSet extends IterableFactory[OldHashSet] { * elems: [a,b] * children: ---b----------------a----------- */ + @SerialVersionUID(-2139837478000879198L) private[collection] final class HashTrieSet[A](private val bitmap: Int, private[collection] val elems: Array[OldHashSet[A]], private val size0: Int) extends OldHashSet[A] { assert(Integer.bitCount(bitmap) == elems.length) @@ -578,13 +579,13 @@ object OldHashSet extends IterableFactory[OldHashSet] { val sizeNew = size - sub.size // if we have only one child, which is not a HashTrieSet but a self-contained set like // OldHashSet1 or OldHashSetCollision1, return the child instead - if (elemsNew.length == 1 && !elemsNew(0).isInstanceOf[HashTrieSet[_]]) + if (elemsNew.length == 1 && !elemsNew(0).isInstanceOf[HashTrieSet[?]]) elemsNew(0) else new HashTrieSet(bitmapNew, elemsNew, sizeNew) } else null - } else if(elems.length == 1 && !subNew.isInstanceOf[HashTrieSet[_]]) { + } else if(elems.length == 1 && !subNew.isInstanceOf[HashTrieSet[?]]) { subNew } else { val elemsNew = java.util.Arrays.copyOf(elems, elems.length) diff --git a/core/src/main/scala/scala/collection/immutable/TrieIterator.scala b/core/src/main/scala/scala/collection/immutable/TrieIterator.scala index a00079de..95ff457d 100644 --- a/core/src/main/scala/scala/collection/immutable/TrieIterator.scala +++ b/core/src/main/scala/scala/collection/immutable/TrieIterator.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). @@ -39,30 +39,30 @@ private[collection] abstract class TrieIterator[+T](elems: Array[Iterable[T]]) e def initSubIter: Iterator[T] = null // to traverse collision nodes private[this] var depth = initDepth - private[this] var arrayStack: Array[Array[Iterable[T @uV]]] = initArrayStack + private[this] val arrayStack: Array[Array[Iterable[T @uV]]] = initArrayStack private[this] var posStack = initPosStack private[this] var arrayD: Array[Iterable[T @uV]] = initArrayD private[this] var posD = initPosD private[this] var subIter = initSubIter private[this] def getElems(x: Iterable[T]): Array[Iterable[T]] = ((x: @unchecked) match { - case x: HashTrieMap[_, _] => x.elems - case x: HashTrieSet[_] => x.elems + case x: HashTrieMap[?, ?] => x.elems + case x: HashTrieSet[?] => x.elems }).asInstanceOf[Array[Iterable[T]]] private[this] def collisionToArray(x: Iterable[T]): Array[Iterable[T]] = ((x: @unchecked) match { - case x: OldHashMapCollision1[_, _] => x.kvs.map((x: (Any, Any)) => OldHashMap(x)).toArray - case x: OldHashSetCollision1[_] => x.ks.map(x => OldHashSet(x)).toArray + case x: OldHashMapCollision1[?, ?] => x.kvs.map((x: (Any, Any)) => OldHashMap(x)).toArray + case x: OldHashSetCollision1[?] => x.ks.map(x => OldHashSet(x)).toArray }).asInstanceOf[Array[Iterable[T]]] private[this] type SplitIterators = ((Iterator[T], Int), Iterator[T]) private def isTrie(x: AnyRef) = x match { - case _: HashTrieMap[_,_] | _: HashTrieSet[_] => true + case _: HashTrieMap[?,?] | _: HashTrieSet[?] => true case _ => false } private def isContainer(x: AnyRef) = x match { - case _: OldHashMap1[_, _] | _: OldHashSet1[_] => true + case _: OldHashMap1[?, ?] | _: OldHashSet1[?] => true case _ => false } @@ -84,7 +84,7 @@ private[collection] abstract class TrieIterator[+T](elems: Array[Iterable[T]]) e } private[this] def iteratorWithSize(arr: Array[Iterable[T]]): (Iterator[T], Int) = - (newIterator(arr), ((arr.map(_.size): Array[Int]): scala.collection.IterableOps[Int, scala.collection.Iterable, _]).sum) + (newIterator(arr), ((arr.map(_.size): Array[Int]): scala.collection.IterableOps[Int, scala.collection.Iterable, ?]).sum) private[this] def arrayToIterators(arr: Array[Iterable[T]]): SplitIterators = { val (fst, snd) = arr.splitAt(arr.length / 2) @@ -94,7 +94,7 @@ private[collection] abstract class TrieIterator[+T](elems: Array[Iterable[T]]) e private[this] def splitArray(ad: Array[Iterable[T]]): SplitIterators = if (ad.length > 1) arrayToIterators(ad) else ad(0) match { - case _: OldHashMapCollision1[_, _] | _: OldHashSetCollision1[_] => + case _: OldHashMapCollision1[?, ?] | _: OldHashSetCollision1[?] => arrayToIterators(collisionToArray(ad(0))) case _ => splitArray(getElems(ad(0))) diff --git a/core/src/main/scala/scala/collection/mutable/FlatHashTable.scala b/core/src/main/scala/scala/collection/mutable/FlatHashTable.scala index ee726431..cad4df29 100644 --- a/core/src/main/scala/scala/collection/mutable/FlatHashTable.scala +++ b/core/src/main/scala/scala/collection/mutable/FlatHashTable.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/CollectionConverters.scala b/core/src/main/scala/scala/collection/parallel/CollectionConverters.scala index a27d34ba..5e240528 100644 --- a/core/src/main/scala/scala/collection/parallel/CollectionConverters.scala +++ b/core/src/main/scala/scala/collection/parallel/CollectionConverters.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). @@ -27,7 +27,7 @@ object CollectionConverters { def seq = coll override def par = coll match { case coll: sc.Set[A @unchecked] => new SetIsParallelizable(coll).par - case coll: sc.Map[_, _] => new MapIsParallelizable(coll).par.asInstanceOf[ParIterable[A]] + case coll: sc.Map[?, ?] => new MapIsParallelizable(coll).par.asInstanceOf[ParIterable[A]] case coll: sci.Iterable[A] => new ImmutableIterableIsParallelizable(coll).par case coll: scm.Iterable[A @unchecked] => new MutableIterableIsParallelizable(coll).par case _ => ParIterable.newCombiner[A].fromSequential(seq) // builds ParArray, same as for scm.Iterable @@ -39,7 +39,7 @@ object CollectionConverters { override def par = coll match { case coll: scm.Seq[A] => new MutableSeqIsParallelizable(coll).par case coll: scm.Set[A] => new MutableSetIsParallelizable(coll).par - case coll: scm.Map[_, _] => new MutableMapIsParallelizable(coll).par.asInstanceOf[mutable.ParIterable[A]] + case coll: scm.Map[?, ?] => new MutableMapIsParallelizable(coll).par.asInstanceOf[mutable.ParIterable[A]] case _ => mutable.ParIterable.newCombiner[A].fromSequential(seq) // builds ParArray } } @@ -49,7 +49,7 @@ object CollectionConverters { override def par = coll match { case coll: sci.Seq[A] => new ImmutableSeqIsParallelizable(coll).par case coll: sci.Set[A @unchecked] => new ImmutableSetIsParallelizable(coll).par - case coll: sci.Map[_, _] => new ImmutableMapIsParallelizable(coll).par.asInstanceOf[immutable.ParIterable[A]] + case coll: sci.Map[?, ?] => new ImmutableMapIsParallelizable(coll).par.asInstanceOf[immutable.ParIterable[A]] case _ => immutable.ParIterable.newCombiner[A].fromSequential(seq) // builds ParVector } } @@ -85,7 +85,7 @@ object CollectionConverters { implicit class ImmutableSeqIsParallelizable[A](private val coll: sci.Seq[A]) extends AnyVal with sc.CustomParallelizable[A, immutable.ParSeq[A]] { def seq = coll override def par = coll match { - case coll: sci.Vector[_] => new VectorIsParallelizable(coll.asInstanceOf[sci.Vector[A]]).par + case coll: sci.Vector[?] => new VectorIsParallelizable(coll.asInstanceOf[sci.Vector[A]]).par case coll: sci.Range => new RangeIsParallelizable(coll).par.asInstanceOf[immutable.ParSeq[A]] case _ => immutable.ParSeq.newCombiner[A].fromSequential(seq) } diff --git a/core/src/main/scala/scala/collection/parallel/Combiner.scala b/core/src/main/scala/scala/collection/parallel/Combiner.scala index 271c610f..3fad9f47 100644 --- a/core/src/main/scala/scala/collection/parallel/Combiner.scala +++ b/core/src/main/scala/scala/collection/parallel/Combiner.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/ParIterable.scala b/core/src/main/scala/scala/collection/parallel/ParIterable.scala index 424d82d8..3d640b16 100644 --- a/core/src/main/scala/scala/collection/parallel/ParIterable.scala +++ b/core/src/main/scala/scala/collection/parallel/ParIterable.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/ParIterableLike.scala b/core/src/main/scala/scala/collection/parallel/ParIterableLike.scala index 4190e6e9..c0142ec0 100644 --- a/core/src/main/scala/scala/collection/parallel/ParIterableLike.scala +++ b/core/src/main/scala/scala/collection/parallel/ParIterableLike.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). @@ -328,7 +328,7 @@ extends IterableOnce[T @uncheckedVariance] if (cb.getClass == t.runtimeClass) isbody(cb.asInstanceOf[Cmb]) else notbody } } - def isCombiner = cb.isInstanceOf[Combiner[_, _]] + def isCombiner = cb.isInstanceOf[Combiner[?, ?]] def asCombiner = cb.asInstanceOf[Combiner[Elem, To]] } @@ -877,7 +877,7 @@ extends IterableOnce[T @uncheckedVariance] protected[this] trait NonDivisible[R] extends NonDivisibleTask[R, NonDivisible[R]] - protected[this] abstract class Composite[FR, SR, R, First <: StrictSplitterCheckTask[FR, _], Second <: StrictSplitterCheckTask[SR, _]] + protected[this] abstract class Composite[FR, SR, R, First <: StrictSplitterCheckTask[FR, ?], Second <: StrictSplitterCheckTask[SR, ?]] (val ft: First, val st: Second) extends NonDivisibleTask[R, Composite[FR, SR, R, First, Second]] { def combineResults(fr: FR, sr: SR): R @@ -894,7 +894,7 @@ extends IterableOnce[T @uncheckedVariance] } /** Sequentially performs one task after another. */ - protected[this] abstract class SeqComposite[FR, SR, R, First <: StrictSplitterCheckTask[FR, _], Second <: StrictSplitterCheckTask[SR, _]] + protected[this] abstract class SeqComposite[FR, SR, R, First <: StrictSplitterCheckTask[FR, ?], Second <: StrictSplitterCheckTask[SR, ?]] (f: First, s: Second) extends Composite[FR, SR, R, First, Second](f, s) { def leaf(prevr: Option[R]) = { @@ -905,7 +905,7 @@ extends IterableOnce[T @uncheckedVariance] } /** Performs two tasks in parallel, and waits for both to finish. */ - protected[this] abstract class ParComposite[FR, SR, R, First <: StrictSplitterCheckTask[FR, _], Second <: StrictSplitterCheckTask[SR, _]] + protected[this] abstract class ParComposite[FR, SR, R, First <: StrictSplitterCheckTask[FR, ?], Second <: StrictSplitterCheckTask[SR, ?]] (f: First, s: Second) extends Composite[FR, SR, R, First, Second](f, s) { def leaf(prevr: Option[R]) = { diff --git a/core/src/main/scala/scala/collection/parallel/ParMap.scala b/core/src/main/scala/scala/collection/parallel/ParMap.scala index 70cb0af7..0c9cd932 100644 --- a/core/src/main/scala/scala/collection/parallel/ParMap.scala +++ b/core/src/main/scala/scala/collection/parallel/ParMap.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/ParMapLike.scala b/core/src/main/scala/scala/collection/parallel/ParMapLike.scala index ea2b1b99..71f52218 100644 --- a/core/src/main/scala/scala/collection/parallel/ParMapLike.scala +++ b/core/src/main/scala/scala/collection/parallel/ParMapLike.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). @@ -53,7 +53,7 @@ self => * same mappings, `false` otherwise. */ override def equals(that: Any): Boolean = that match { - case that: ParMap[b, _] => + case that: ParMap[b, ?] => (this eq that) || (that canEqual this) && (this.size == that.size) && { diff --git a/core/src/main/scala/scala/collection/parallel/ParSeq.scala b/core/src/main/scala/scala/collection/parallel/ParSeq.scala index 94ef8833..6ff8559b 100644 --- a/core/src/main/scala/scala/collection/parallel/ParSeq.scala +++ b/core/src/main/scala/scala/collection/parallel/ParSeq.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/ParSeqLike.scala b/core/src/main/scala/scala/collection/parallel/ParSeqLike.scala index 2b91d54e..3190b68d 100644 --- a/core/src/main/scala/scala/collection/parallel/ParSeqLike.scala +++ b/core/src/main/scala/scala/collection/parallel/ParSeqLike.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). @@ -62,8 +62,8 @@ extends ParIterableLike[T, CC, Repr, Sequential] * this sequence in the same order, `false` otherwise */ override def equals(that: Any): Boolean = that match { - case that: ParSeq[_] => (that eq this.asInstanceOf[AnyRef]) || (that canEqual this) && (this sameElements that) - case _ => false + case that: ParSeq[Any] => (that eq this.asInstanceOf[AnyRef]) || (that canEqual this) && (this sameElements that) + case _ => false } def canEqual(other: Any): Boolean = true @@ -467,7 +467,7 @@ extends ParIterableLike[T, CC, Repr, Sequential] /* tasks */ - protected[this] def down(p: IterableSplitter[_]) = p.asInstanceOf[SeqSplitter[T]] + protected[this] def down(p: IterableSplitter[?]) = p.asInstanceOf[SeqSplitter[T]] protected trait ParSeqLikeAccessor[R, Tp] extends Accessor[R, Tp] { protected[this] val pit: SeqSplitter[T] diff --git a/core/src/main/scala/scala/collection/parallel/ParSet.scala b/core/src/main/scala/scala/collection/parallel/ParSet.scala index da07b3d3..66e21658 100644 --- a/core/src/main/scala/scala/collection/parallel/ParSet.scala +++ b/core/src/main/scala/scala/collection/parallel/ParSet.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/ParSetLike.scala b/core/src/main/scala/scala/collection/parallel/ParSetLike.scala index 72069d00..aabb6950 100644 --- a/core/src/main/scala/scala/collection/parallel/ParSetLike.scala +++ b/core/src/main/scala/scala/collection/parallel/ParSetLike.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). @@ -97,7 +97,7 @@ extends ParIterableLike[T, CC, Repr, Sequential] * as this set. */ override def equals(that: Any): Boolean = that match { - case that: ParSet[_] => + case that: ParSet[?] => (this eq that) || (that canEqual this) && (this.size == that.size) && diff --git a/core/src/main/scala/scala/collection/parallel/PreciseSplitter.scala b/core/src/main/scala/scala/collection/parallel/PreciseSplitter.scala index 17b00773..0f1becee 100644 --- a/core/src/main/scala/scala/collection/parallel/PreciseSplitter.scala +++ b/core/src/main/scala/scala/collection/parallel/PreciseSplitter.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/RemainsIterator.scala b/core/src/main/scala/scala/collection/parallel/RemainsIterator.scala index 6e81e8e2..27bcf0fc 100644 --- a/core/src/main/scala/scala/collection/parallel/RemainsIterator.scala +++ b/core/src/main/scala/scala/collection/parallel/RemainsIterator.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/Splitter.scala b/core/src/main/scala/scala/collection/parallel/Splitter.scala index de334816..003bc887 100644 --- a/core/src/main/scala/scala/collection/parallel/Splitter.scala +++ b/core/src/main/scala/scala/collection/parallel/Splitter.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/TaskSupport.scala b/core/src/main/scala/scala/collection/parallel/TaskSupport.scala index 9ba2c949..b88c2e57 100644 --- a/core/src/main/scala/scala/collection/parallel/TaskSupport.scala +++ b/core/src/main/scala/scala/collection/parallel/TaskSupport.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/Tasks.scala b/core/src/main/scala/scala/collection/parallel/Tasks.scala index ef82dbf4..e560a105 100644 --- a/core/src/main/scala/scala/collection/parallel/Tasks.scala +++ b/core/src/main/scala/scala/collection/parallel/Tasks.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). @@ -68,12 +68,12 @@ trait Task[R, +Tp] { mergeThrowables(that) } - private[parallel] def mergeThrowables(that: Task[_, _]): Unit = { - if (this.throwable != null && that.throwable != null) - this.throwable.addSuppressed(that.throwable) - else if (this.throwable == null && that.throwable != null) + private[parallel] def mergeThrowables(that: Task[?, ?]): Unit = + if (this.throwable != null) { + if (that.throwable != null && (this.throwable ne that.throwable)) + this.throwable.addSuppressed(that.throwable) + } else if (that.throwable != null) this.throwable = that.throwable - } // override in concrete task implementations to signal abort to other tasks private[parallel] def signalAbort(): Unit = {} diff --git a/core/src/main/scala/scala/collection/parallel/immutable/ParHashMap.scala b/core/src/main/scala/scala/collection/parallel/immutable/ParHashMap.scala index a7189efe..da58d6fe 100644 --- a/core/src/main/scala/scala/collection/parallel/immutable/ParHashMap.scala +++ b/core/src/main/scala/scala/collection/parallel/immutable/ParHashMap.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). @@ -305,10 +305,10 @@ extends scala.collection.parallel.BucketCombiner[(K, V), ParHashMap[K, V], (K, V evaluateCombiners(trie).asInstanceOf[OldHashMap[K, Repr]] } private def evaluateCombiners(trie: OldHashMap[K, Combiner[V, Repr]]): OldHashMap[K, Repr] = trie match { - case hm1: OldHashMap.OldHashMap1[_, _] => + case hm1: OldHashMap.OldHashMap1[?, ?] => val evaledvalue = hm1.value.result() new OldHashMap.OldHashMap1[K, Repr](hm1.key, hm1.hash, evaledvalue, null) - case hmc: OldHashMap.OldHashMapCollision1[_, Combiner[_, Repr]] => + case hmc: OldHashMap.OldHashMapCollision1[?, Combiner[?, Repr]] => val evaledkvs = hmc.kvs map { p => (p._1, p._2.result()) } new OldHashMap.OldHashMapCollision1[K, Repr](hmc.hash, evaledkvs) case htm: OldHashMap.HashTrieMap[k, v] => diff --git a/core/src/main/scala/scala/collection/parallel/immutable/ParHashSet.scala b/core/src/main/scala/scala/collection/parallel/immutable/ParHashSet.scala index eef08ffb..741b7bf0 100644 --- a/core/src/main/scala/scala/collection/parallel/immutable/ParHashSet.scala +++ b/core/src/main/scala/scala/collection/parallel/immutable/ParHashSet.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/immutable/ParIterable.scala b/core/src/main/scala/scala/collection/parallel/immutable/ParIterable.scala index e916d98a..53c20c4e 100644 --- a/core/src/main/scala/scala/collection/parallel/immutable/ParIterable.scala +++ b/core/src/main/scala/scala/collection/parallel/immutable/ParIterable.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/immutable/ParMap.scala b/core/src/main/scala/scala/collection/parallel/immutable/ParMap.scala index 5252d4b5..584ed466 100644 --- a/core/src/main/scala/scala/collection/parallel/immutable/ParMap.scala +++ b/core/src/main/scala/scala/collection/parallel/immutable/ParMap.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/immutable/ParRange.scala b/core/src/main/scala/scala/collection/parallel/immutable/ParRange.scala index fb28a325..98be11ed 100644 --- a/core/src/main/scala/scala/collection/parallel/immutable/ParRange.scala +++ b/core/src/main/scala/scala/collection/parallel/immutable/ParRange.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/immutable/ParSeq.scala b/core/src/main/scala/scala/collection/parallel/immutable/ParSeq.scala index 5958ebc4..6cd0a36f 100644 --- a/core/src/main/scala/scala/collection/parallel/immutable/ParSeq.scala +++ b/core/src/main/scala/scala/collection/parallel/immutable/ParSeq.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/immutable/ParSet.scala b/core/src/main/scala/scala/collection/parallel/immutable/ParSet.scala index 5f8e5911..d2011fea 100644 --- a/core/src/main/scala/scala/collection/parallel/immutable/ParSet.scala +++ b/core/src/main/scala/scala/collection/parallel/immutable/ParSet.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/immutable/ParVector.scala b/core/src/main/scala/scala/collection/parallel/immutable/ParVector.scala index 5c3d944c..610a0806 100644 --- a/core/src/main/scala/scala/collection/parallel/immutable/ParVector.scala +++ b/core/src/main/scala/scala/collection/parallel/immutable/ParVector.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/immutable/package.scala b/core/src/main/scala/scala/collection/parallel/immutable/package.scala index 43a5d119..72bdc05b 100644 --- a/core/src/main/scala/scala/collection/parallel/immutable/package.scala +++ b/core/src/main/scala/scala/collection/parallel/immutable/package.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/mutable/LazyCombiner.scala b/core/src/main/scala/scala/collection/parallel/mutable/LazyCombiner.scala index ad5869a4..d149a5c0 100644 --- a/core/src/main/scala/scala/collection/parallel/mutable/LazyCombiner.scala +++ b/core/src/main/scala/scala/collection/parallel/mutable/LazyCombiner.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). @@ -34,7 +34,7 @@ trait LazyCombiner[Elem, +To, Buff <: Growable[Elem] with Sizing] extends Combin def result(): To = allocateAndCopy def clear() = { chain.clear() } def combine[N <: Elem, NewTo >: To](other: Combiner[N, NewTo]): Combiner[N, NewTo] = if (this ne other) { - if (other.isInstanceOf[LazyCombiner[_, _, _]]) { + if (other.isInstanceOf[LazyCombiner[?, ?, ?]]) { val that = other.asInstanceOf[LazyCombiner[Elem, To, Buff]] newLazyCombiner(chain ++= that.chain) } else throw new UnsupportedOperationException("Cannot combine with combiner of different type.") diff --git a/core/src/main/scala/scala/collection/parallel/mutable/ParArray.scala b/core/src/main/scala/scala/collection/parallel/mutable/ParArray.scala index 7f037b83..698d72ae 100644 --- a/core/src/main/scala/scala/collection/parallel/mutable/ParArray.scala +++ b/core/src/main/scala/scala/collection/parallel/mutable/ParArray.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/mutable/ParFlatHashTable.scala b/core/src/main/scala/scala/collection/parallel/mutable/ParFlatHashTable.scala index 7b1d212b..1ba70f77 100644 --- a/core/src/main/scala/scala/collection/parallel/mutable/ParFlatHashTable.scala +++ b/core/src/main/scala/scala/collection/parallel/mutable/ParFlatHashTable.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/mutable/ParHashMap.scala b/core/src/main/scala/scala/collection/parallel/mutable/ParHashMap.scala index a7d10ddb..25f80d9c 100644 --- a/core/src/main/scala/scala/collection/parallel/mutable/ParHashMap.scala +++ b/core/src/main/scala/scala/collection/parallel/mutable/ParHashMap.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/mutable/ParHashSet.scala b/core/src/main/scala/scala/collection/parallel/mutable/ParHashSet.scala index f49a1425..57abee5b 100644 --- a/core/src/main/scala/scala/collection/parallel/mutable/ParHashSet.scala +++ b/core/src/main/scala/scala/collection/parallel/mutable/ParHashSet.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/mutable/ParHashTable.scala b/core/src/main/scala/scala/collection/parallel/mutable/ParHashTable.scala index 5385799c..e7caf752 100644 --- a/core/src/main/scala/scala/collection/parallel/mutable/ParHashTable.scala +++ b/core/src/main/scala/scala/collection/parallel/mutable/ParHashTable.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/mutable/ParIterable.scala b/core/src/main/scala/scala/collection/parallel/mutable/ParIterable.scala index 47185279..8e34d208 100644 --- a/core/src/main/scala/scala/collection/parallel/mutable/ParIterable.scala +++ b/core/src/main/scala/scala/collection/parallel/mutable/ParIterable.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/mutable/ParMap.scala b/core/src/main/scala/scala/collection/parallel/mutable/ParMap.scala index 4900ebc9..7ac4e6a9 100644 --- a/core/src/main/scala/scala/collection/parallel/mutable/ParMap.scala +++ b/core/src/main/scala/scala/collection/parallel/mutable/ParMap.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/mutable/ParMapLike.scala b/core/src/main/scala/scala/collection/parallel/mutable/ParMapLike.scala index 88ebf979..8986b130 100644 --- a/core/src/main/scala/scala/collection/parallel/mutable/ParMapLike.scala +++ b/core/src/main/scala/scala/collection/parallel/mutable/ParMapLike.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/mutable/ParSeq.scala b/core/src/main/scala/scala/collection/parallel/mutable/ParSeq.scala index 08bac95c..b135ee4d 100644 --- a/core/src/main/scala/scala/collection/parallel/mutable/ParSeq.scala +++ b/core/src/main/scala/scala/collection/parallel/mutable/ParSeq.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/mutable/ParSet.scala b/core/src/main/scala/scala/collection/parallel/mutable/ParSet.scala index 0c10c14f..911f80e1 100644 --- a/core/src/main/scala/scala/collection/parallel/mutable/ParSet.scala +++ b/core/src/main/scala/scala/collection/parallel/mutable/ParSet.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/mutable/ParSetLike.scala b/core/src/main/scala/scala/collection/parallel/mutable/ParSetLike.scala index f8f2b3c7..0af9e4c6 100644 --- a/core/src/main/scala/scala/collection/parallel/mutable/ParSetLike.scala +++ b/core/src/main/scala/scala/collection/parallel/mutable/ParSetLike.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/mutable/ParTrieMap.scala b/core/src/main/scala/scala/collection/parallel/mutable/ParTrieMap.scala index ec0a0b40..431b7daf 100644 --- a/core/src/main/scala/scala/collection/parallel/mutable/ParTrieMap.scala +++ b/core/src/main/scala/scala/collection/parallel/mutable/ParTrieMap.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). @@ -52,7 +52,7 @@ extends ParMap[K, V] override def seq = ctrie - def splitter = new ParTrieMapSplitter(0, ctrie.readOnlySnapshot().asInstanceOf[TrieMap[K, V]], true) + def splitter = new ParTrieMapSplitter(0, ctrie.readOnlySnapshot().asInstanceOf[TrieMap[K, V]], mustInit = true) override def clear() = ctrie.clear() @@ -80,9 +80,9 @@ extends ParMap[K, V] val in = ctrie.readRoot() val r = in.gcasRead(ctrie) (r: @unchecked) match { - case tn: TNode[_, _] => tn.cachedSize(ctrie) - case ln: LNode[_, _] => ln.cachedSize(ctrie) - case cn: CNode[_, _] => + case tn: TNode[?, ?] => tn.cachedSize(ctrie) + case ln: LNode[?, ?] => ln.cachedSize(ctrie) + case cn: CNode[?, ?] => tasksupport.executeAndWaitResult(new Size(0, cn.array.length, cn.array)) cn.cachedSize(ctrie) } @@ -103,7 +103,7 @@ extends ParMap[K, V] val until = offset + howmany while (i < until) { (array(i): @unchecked) match { - case sn: SNode[_, _] => sz += 1 + case sn: SNode[?, ?] => sz += 1 case in: INode[K @unchecked, V @unchecked] => sz += in.cachedSize(ctrie) } i += 1 diff --git a/core/src/main/scala/scala/collection/parallel/mutable/ResizableParArrayCombiner.scala b/core/src/main/scala/scala/collection/parallel/mutable/ResizableParArrayCombiner.scala index 9c16f101..dafd7770 100644 --- a/core/src/main/scala/scala/collection/parallel/mutable/ResizableParArrayCombiner.scala +++ b/core/src/main/scala/scala/collection/parallel/mutable/ResizableParArrayCombiner.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/mutable/UnrolledParArrayCombiner.scala b/core/src/main/scala/scala/collection/parallel/mutable/UnrolledParArrayCombiner.scala index c2bdb442..f09b9349 100644 --- a/core/src/main/scala/scala/collection/parallel/mutable/UnrolledParArrayCombiner.scala +++ b/core/src/main/scala/scala/collection/parallel/mutable/UnrolledParArrayCombiner.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/mutable/package.scala b/core/src/main/scala/scala/collection/parallel/mutable/package.scala index b289df23..b442b080 100644 --- a/core/src/main/scala/scala/collection/parallel/mutable/package.scala +++ b/core/src/main/scala/scala/collection/parallel/mutable/package.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/core/src/main/scala/scala/collection/parallel/package.scala b/core/src/main/scala/scala/collection/parallel/package.scala index 8c61fef5..826c6968 100644 --- a/core/src/main/scala/scala/collection/parallel/package.scala +++ b/core/src/main/scala/scala/collection/parallel/package.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). @@ -40,7 +40,7 @@ package object parallel { def setTaskSupport[Coll](c: Coll, t: TaskSupport): Coll = { c match { - case pc: ParIterableLike[_, _, _, _] => pc.tasksupport = t + case pc: ParIterableLike[?, ?, ?, ?] => pc.tasksupport = t case _ => // do nothing } c @@ -50,7 +50,7 @@ package object parallel { implicit class CollectionsHaveToParArray[C, T](c: C)(implicit asGto: C => scala.collection.IterableOnce[T]) { def toParArray = { val t = asGto(c) - if (t.isInstanceOf[ParArray[_]]) t.asInstanceOf[ParArray[T]] + if (t.isInstanceOf[ParArray[?]]) t.asInstanceOf[ParArray[T]] else { val it = t.iterator val cb = mutable.ParArrayCombiner[T]() @@ -67,9 +67,9 @@ package parallel { private[collection] object ParallelCollectionImplicits { implicit def traversable2ops[T](t: scala.collection.IterableOnce[T]): TraversableOps[T] = new TraversableOps[T] { def isParallel = t.isInstanceOf[Parallel] - def isParIterable = t.isInstanceOf[ParIterable[_]] + def isParIterable = t.isInstanceOf[ParIterable[?]] def asParIterable = t.asInstanceOf[ParIterable[T]] - def isParSeq = t.isInstanceOf[ParSeq[_]] + def isParSeq = t.isInstanceOf[ParSeq[?]] def asParSeq = t.asInstanceOf[ParSeq[T]] def ifParSeq[R](isbody: ParSeq[T] => R) = new Otherwise[R] { def otherwise(notbody: => R) = if (isParallel) isbody(asParSeq) else notbody @@ -184,7 +184,7 @@ package parallel { def combine[N <: Elem, NewTo >: To](other: Combiner[N, NewTo]): Combiner[N, NewTo] = { if (this eq other) this else other match { - case _: BucketCombiner[_, _, _, _] => + case _: BucketCombiner[?, ?, ?, ?] => beforeCombine(other) val that = other.asInstanceOf[BucketCombiner[Elem, To, Buck, CombinerType]] diff --git a/junit/src/test/scala-2/scala/SerializationStabilityTest.scala b/junit/src/test/scala-2/scala/SerializationStabilityTest.scala index 484d8f65..97f7574f 100644 --- a/junit/src/test/scala-2/scala/SerializationStabilityTest.scala +++ b/junit/src/test/scala-2/scala/SerializationStabilityTest.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). @@ -38,7 +38,7 @@ object SerializationStability extends App with SerializationStabilityBase { } } - // Generated on 20201015-13:14:45 with Scala version 2.13.3) + // Generated on 20220711-14:22:40 with Scala version 2.13.8) overwrite.foreach(updateComment) // check(new collection.concurrent.TrieMap[Any, Any]())( "rO0ABXNyACNzY2FsYS5jb2xsZWN0aW9uLmNvbmN1cnJlbnQuVHJpZU1hcKckxpgOIYHPAwAETAALZXF1YWxpdHlvYmp0ABJMc2NhbGEvbWF0aC9FcXVpdjtMAApoYXNoaW5nb2JqdAAcTHNjYWxhL3V0aWwvaGFzaGluZy9IYXNoaW5nO0wABHJvb3R0ABJMamF2YS9sYW5nL09iamVjdDtMAAtyb290dXBkYXRlcnQAOUxqYXZhL3V0aWwvY29uY3VycmVudC9hdG9taWMvQXRvbWljUmVmZXJlbmNlRmllbGRVcGRhdGVyO3hwc3IAMnNjYWxhLmNvbGxlY3Rpb24uY29uY3VycmVudC5UcmllTWFwJE1hbmdsZWRIYXNoaW5nhTBoJQ/mgb0CAAB4cHNyABhzY2FsYS5tYXRoLkVxdWl2JCRhbm9uJDLBbyx4dy/qGwIAAHhwc3IANHNjYWxhLmNvbGxlY3Rpb24uY29uY3VycmVudC5UcmllTWFwU2VyaWFsaXphdGlvbkVuZCSbjdgbbGCt2gIAAHhweA==") @@ -46,7 +46,7 @@ object SerializationStability extends App with SerializationStabilityBase { import collection.parallel check(parallel.immutable.ParHashMap(1 -> 2))( "rO0ABXNyAC5zY2FsYS5jb2xsZWN0aW9uLnBhcmFsbGVsLmltbXV0YWJsZS5QYXJIYXNoTWFwAAAAAAAAAAMCAANMAA9TY2FuTGVhZiRtb2R1bGV0ADVMc2NhbGEvY29sbGVjdGlvbi9wYXJhbGxlbC9QYXJJdGVyYWJsZUxpa2UkU2NhbkxlYWYkO0wAD1NjYW5Ob2RlJG1vZHVsZXQANUxzY2FsYS9jb2xsZWN0aW9uL3BhcmFsbGVsL1Bhckl0ZXJhYmxlTGlrZSRTY2FuTm9kZSQ7TAAEdHJpZXQAJ0xzY2FsYS9jb2xsZWN0aW9uL2ltbXV0YWJsZS9PbGRIYXNoTWFwO3hwcHBzcgAxc2NhbGEuY29sbGVjdGlvbi5pbW11dGFibGUuT2xkSGFzaE1hcCRPbGRIYXNoTWFwMS7zjpoZzkeMAgAESQAEaGFzaEwAA2tleXQAEkxqYXZhL2xhbmcvT2JqZWN0O0wAAmt2dAAOTHNjYWxhL1R1cGxlMjtMAAV2YWx1ZXEAfgAGeHIAJXNjYWxhLmNvbGxlY3Rpb24uaW1tdXRhYmxlLk9sZEhhc2hNYXDeVobyra7aQwIAAHhw/4PO53NyABFqYXZhLmxhbmcuSW50ZWdlchLioKT3gYc4AgABSQAFdmFsdWV4cgAQamF2YS5sYW5nLk51bWJlcoaslR0LlOCLAgAAeHAAAAABc3IADHNjYWxhLlR1cGxlMgH73c0i5zR6AgACTAACXzFxAH4ABkwAAl8ycQB+AAZ4cHEAfgAMc3EAfgAKAAAAAnEAfgAP") - check(parallel.immutable.ParHashSet(1, 2, 3))( "rO0ABXNyAC5zY2FsYS5jb2xsZWN0aW9uLnBhcmFsbGVsLmltbXV0YWJsZS5QYXJIYXNoU2V0AAAAAAAAAAECAANMAA9TY2FuTGVhZiRtb2R1bGV0ADVMc2NhbGEvY29sbGVjdGlvbi9wYXJhbGxlbC9QYXJJdGVyYWJsZUxpa2UkU2NhbkxlYWYkO0wAD1NjYW5Ob2RlJG1vZHVsZXQANUxzY2FsYS9jb2xsZWN0aW9uL3BhcmFsbGVsL1Bhckl0ZXJhYmxlTGlrZSRTY2FuTm9kZSQ7TAAEdHJpZXQAJ0xzY2FsYS9jb2xsZWN0aW9uL2ltbXV0YWJsZS9PbGRIYXNoU2V0O3hwcHBzcgAxc2NhbGEuY29sbGVjdGlvbi5pbW11dGFibGUuT2xkSGFzaFNldCRIYXNoVHJpZVNldEQhDb9ZpSE5AgADSQAGYml0bWFwSQAFc2l6ZTBbAAVlbGVtc3QAKFtMc2NhbGEvY29sbGVjdGlvbi9pbW11dGFibGUvT2xkSGFzaFNldDt4cgAlc2NhbGEuY29sbGVjdGlvbi5pbW11dGFibGUuT2xkSGFzaFNldBh++KjntXtjAgAAeHAAEECAAAAAA3VyAChbTHNjYWxhLmNvbGxlY3Rpb24uaW1tdXRhYmxlLk9sZEhhc2hTZXQ7CAD6Mv3ASA4CAAB4cAAAAANzcgAxc2NhbGEuY29sbGVjdGlvbi5pbW11dGFibGUuT2xkSGFzaFNldCRPbGRIYXNoU2V0MR1AgCzq7c4OAgACSQAEaGFzaEwAA2tleXQAEkxqYXZhL2xhbmcvT2JqZWN0O3hyADRzY2FsYS5jb2xsZWN0aW9uLmltbXV0YWJsZS5PbGRIYXNoU2V0JExlYWZPbGRIYXNoU2V0XYS37WNapt0CAAB4cQB+AAf/g87nc3IAEWphdmEubGFuZy5JbnRlZ2VyEuKgpPeBhzgCAAFJAAV2YWx1ZXhyABBqYXZhLmxhbmcuTnVtYmVyhqyVHQuU4IsCAAB4cAAAAAFzcQB+AAv/g6zOc3EAfgAPAAAAAnNxAH4AC/+DitRzcQB+AA8AAAAD") + check(parallel.immutable.ParHashSet(1, 2, 3))( "rO0ABXNyAC5zY2FsYS5jb2xsZWN0aW9uLnBhcmFsbGVsLmltbXV0YWJsZS5QYXJIYXNoU2V0AAAAAAAAAAECAANMAA9TY2FuTGVhZiRtb2R1bGV0ADVMc2NhbGEvY29sbGVjdGlvbi9wYXJhbGxlbC9QYXJJdGVyYWJsZUxpa2UkU2NhbkxlYWYkO0wAD1NjYW5Ob2RlJG1vZHVsZXQANUxzY2FsYS9jb2xsZWN0aW9uL3BhcmFsbGVsL1Bhckl0ZXJhYmxlTGlrZSRTY2FuTm9kZSQ7TAAEdHJpZXQAJ0xzY2FsYS9jb2xsZWN0aW9uL2ltbXV0YWJsZS9PbGRIYXNoU2V0O3hwcHBzcgAxc2NhbGEuY29sbGVjdGlvbi5pbW11dGFibGUuT2xkSGFzaFNldCRIYXNoVHJpZVNldOJNxSausJmiAgADSQAGYml0bWFwSQAFc2l6ZTBbAAVlbGVtc3QAKFtMc2NhbGEvY29sbGVjdGlvbi9pbW11dGFibGUvT2xkSGFzaFNldDt4cgAlc2NhbGEuY29sbGVjdGlvbi5pbW11dGFibGUuT2xkSGFzaFNldBh++KjntXtjAgAAeHAAEECAAAAAA3VyAChbTHNjYWxhLmNvbGxlY3Rpb24uaW1tdXRhYmxlLk9sZEhhc2hTZXQ7CAD6Mv3ASA4CAAB4cAAAAANzcgAxc2NhbGEuY29sbGVjdGlvbi5pbW11dGFibGUuT2xkSGFzaFNldCRPbGRIYXNoU2V0MR1AgCzq7c4OAgACSQAEaGFzaEwAA2tleXQAEkxqYXZhL2xhbmcvT2JqZWN0O3hyADRzY2FsYS5jb2xsZWN0aW9uLmltbXV0YWJsZS5PbGRIYXNoU2V0JExlYWZPbGRIYXNoU2V0XYS37WNapt0CAAB4cQB+AAf/g87nc3IAEWphdmEubGFuZy5JbnRlZ2VyEuKgpPeBhzgCAAFJAAV2YWx1ZXhyABBqYXZhLmxhbmcuTnVtYmVyhqyVHQuU4IsCAAB4cAAAAAFzcQB+AAv/g6zOc3EAfgAPAAAAAnNxAH4AC/+DitRzcQB+AA8AAAAD") // TODO SI-8576 Uninitialized field under -Xcheckinit // check(new parallel.immutable.ParRange(new Range(0, 1, 2)))( "rO0ABXNyACxzY2FsYS5jb2xsZWN0aW9uLnBhcmFsbGVsLmltbXV0YWJsZS5QYXJSYW5nZQAAAAAAAAABAgAETAAXUGFyUmFuZ2VJdGVyYXRvciRtb2R1bGV0AEBMc2NhbGEvY29sbGVjdGlvbi9wYXJhbGxlbC9pbW11dGFibGUvUGFyUmFuZ2UkUGFyUmFuZ2VJdGVyYXRvciQ7TAAPU2NhbkxlYWYkbW9kdWxldAA1THNjYWxhL2NvbGxlY3Rpb24vcGFyYWxsZWwvUGFySXRlcmFibGVMaWtlJFNjYW5MZWFmJDtMAA9TY2FuTm9kZSRtb2R1bGV0ADVMc2NhbGEvY29sbGVjdGlvbi9wYXJhbGxlbC9QYXJJdGVyYWJsZUxpa2UkU2Nhbk5vZGUkO0wABXJhbmdldAAiTHNjYWxhL2NvbGxlY3Rpb24vaW1tdXRhYmxlL1JhbmdlO3hwcHBwc3IAIHNjYWxhLmNvbGxlY3Rpb24uaW1tdXRhYmxlLlJhbmdlabujVKsVMg0CAAdJAANlbmRaAAdpc0VtcHR5SQALbGFzdEVsZW1lbnRJABBudW1SYW5nZUVsZW1lbnRzSQAFc3RhcnRJAARzdGVwSQAPdGVybWluYWxFbGVtZW50eHAAAAABAAAAAAAAAAABAAAAAAAAAAIAAAAC") // TODO SI-8576 unstable under -Xcheckinit diff --git a/junit/src/test/scala-3/scala/SerializationStabilityTest.scala b/junit/src/test/scala-3/scala/SerializationStabilityTest.scala index f084795e..6d537c85 100644 --- a/junit/src/test/scala-3/scala/SerializationStabilityTest.scala +++ b/junit/src/test/scala-3/scala/SerializationStabilityTest.scala @@ -38,24 +38,24 @@ object SerializationStability extends App with SerializationStabilityBase { } } - // Generated on 20201015-13:11:40 with Scala version 2.13.3) + // Generated on 20230524-12:12:24 with Scala version 2.13.10) overwrite.foreach(updateComment) // check(new collection.concurrent.TrieMap[Any, Any]())( "rO0ABXNyACNzY2FsYS5jb2xsZWN0aW9uLmNvbmN1cnJlbnQuVHJpZU1hcKckxpgOIYHPAwAETAALZXF1YWxpdHlvYmp0ABJMc2NhbGEvbWF0aC9FcXVpdjtMAApoYXNoaW5nb2JqdAAcTHNjYWxhL3V0aWwvaGFzaGluZy9IYXNoaW5nO0wABHJvb3R0ABJMamF2YS9sYW5nL09iamVjdDtMAAtyb290dXBkYXRlcnQAOUxqYXZhL3V0aWwvY29uY3VycmVudC9hdG9taWMvQXRvbWljUmVmZXJlbmNlRmllbGRVcGRhdGVyO3hwc3IAMnNjYWxhLmNvbGxlY3Rpb24uY29uY3VycmVudC5UcmllTWFwJE1hbmdsZWRIYXNoaW5nhTBoJQ/mgb0CAAB4cHNyABhzY2FsYS5tYXRoLkVxdWl2JCRhbm9uJDLBbyx4dy/qGwIAAHhwc3IANHNjYWxhLmNvbGxlY3Rpb24uY29uY3VycmVudC5UcmllTWFwU2VyaWFsaXphdGlvbkVuZCSbjdgbbGCt2gIAAHhweA==") // not sure why this one needs stable serialization. import collection.parallel - check(parallel.immutable.ParHashMap(1 -> 2))( "rO0ABXNyAC5zY2FsYS5jb2xsZWN0aW9uLnBhcmFsbGVsLmltbXV0YWJsZS5QYXJIYXNoTWFwAAAAAAAAAAMCAARKAAkwYml0bWFwJDFMAA1TY2FuTGVhZiRsenkxdAA1THNjYWxhL2NvbGxlY3Rpb24vcGFyYWxsZWwvUGFySXRlcmFibGVMaWtlJFNjYW5MZWFmJDtMAA1TY2FuTm9kZSRsenkxdAA1THNjYWxhL2NvbGxlY3Rpb24vcGFyYWxsZWwvUGFySXRlcmFibGVMaWtlJFNjYW5Ob2RlJDtMAAR0cmlldAAnTHNjYWxhL2NvbGxlY3Rpb24vaW1tdXRhYmxlL09sZEhhc2hNYXA7eHAAAAAAAAAAAHBwc3IAMXNjYWxhLmNvbGxlY3Rpb24uaW1tdXRhYmxlLk9sZEhhc2hNYXAkT2xkSGFzaE1hcDEu846aGc5HjAIABEkABGhhc2hMAANrZXl0ABJMamF2YS9sYW5nL09iamVjdDtMAAJrdnQADkxzY2FsYS9UdXBsZTI7TAAFdmFsdWVxAH4ABnhyACVzY2FsYS5jb2xsZWN0aW9uLmltbXV0YWJsZS5PbGRIYXNoTWFwGzyZ5OayDwECAAB4cP+DzudzcgARamF2YS5sYW5nLkludGVnZXIS4qCk94GHOAIAAUkABXZhbHVleHIAEGphdmEubGFuZy5OdW1iZXKGrJUdC5TgiwIAAHhwAAAAAXNyAAxzY2FsYS5UdXBsZTIB+93NIuc0egIAAkwAAl8xcQB+AAZMAAJfMnEAfgAGeHBxAH4ADHNxAH4ACgAAAAJxAH4ADw==") - check(parallel.immutable.ParHashSet(1, 2, 3))( "rO0ABXNyAC5zY2FsYS5jb2xsZWN0aW9uLnBhcmFsbGVsLmltbXV0YWJsZS5QYXJIYXNoU2V0AAAAAAAAAAECAARKAAkwYml0bWFwJDFMAA1TY2FuTGVhZiRsenkxdAA1THNjYWxhL2NvbGxlY3Rpb24vcGFyYWxsZWwvUGFySXRlcmFibGVMaWtlJFNjYW5MZWFmJDtMAA1TY2FuTm9kZSRsenkxdAA1THNjYWxhL2NvbGxlY3Rpb24vcGFyYWxsZWwvUGFySXRlcmFibGVMaWtlJFNjYW5Ob2RlJDtMAAR0cmlldAAnTHNjYWxhL2NvbGxlY3Rpb24vaW1tdXRhYmxlL09sZEhhc2hTZXQ7eHAAAAAAAAAAAHBwc3IAMXNjYWxhLmNvbGxlY3Rpb24uaW1tdXRhYmxlLk9sZEhhc2hTZXQkSGFzaFRyaWVTZXTiTcUmrrCZogIAA0kABmJpdG1hcEkABXNpemUwWwAFZWxlbXN0AChbTHNjYWxhL2NvbGxlY3Rpb24vaW1tdXRhYmxlL09sZEhhc2hTZXQ7eHIAJXNjYWxhLmNvbGxlY3Rpb24uaW1tdXRhYmxlLk9sZEhhc2hTZXRY25CS1TvmFgIAAHhwABBAgAAAAAN1cgAoW0xzY2FsYS5jb2xsZWN0aW9uLmltbXV0YWJsZS5PbGRIYXNoU2V0OwgA+jL9wEgOAgAAeHAAAAADc3IAMXNjYWxhLmNvbGxlY3Rpb24uaW1tdXRhYmxlLk9sZEhhc2hTZXQkT2xkSGFzaFNldDEdQIAs6u3ODgIAAkkABGhhc2hMAANrZXl0ABJMamF2YS9sYW5nL09iamVjdDt4cgA0c2NhbGEuY29sbGVjdGlvbi5pbW11dGFibGUuT2xkSGFzaFNldCRMZWFmT2xkSGFzaFNldF2Et+1jWqbdAgAAeHEAfgAH/4PO53NyABFqYXZhLmxhbmcuSW50ZWdlchLioKT3gYc4AgABSQAFdmFsdWV4cgAQamF2YS5sYW5nLk51bWJlcoaslR0LlOCLAgAAeHAAAAABc3EAfgAL/4OsznNxAH4ADwAAAAJzcQB+AAv/g4rUc3EAfgAPAAAAAw==") + check(parallel.immutable.ParHashMap(1 -> 2))( "rO0ABXNyAC5zY2FsYS5jb2xsZWN0aW9uLnBhcmFsbGVsLmltbXV0YWJsZS5QYXJIYXNoTWFwAAAAAAAAAAMCAANMAA1TY2FuTGVhZiRsenkxdAASTGphdmEvbGFuZy9PYmplY3Q7TAANU2Nhbk5vZGUkbHp5MXEAfgABTAAEdHJpZXQAJ0xzY2FsYS9jb2xsZWN0aW9uL2ltbXV0YWJsZS9PbGRIYXNoTWFwO3hwcHBzcgAxc2NhbGEuY29sbGVjdGlvbi5pbW11dGFibGUuT2xkSGFzaE1hcCRPbGRIYXNoTWFwMS7zjpoZzkeMAgAESQAEaGFzaEwAA2tleXEAfgABTAACa3Z0AA5Mc2NhbGEvVHVwbGUyO0wABXZhbHVlcQB+AAF4cgAlc2NhbGEuY29sbGVjdGlvbi5pbW11dGFibGUuT2xkSGFzaE1hcN5WhvKtrtpDAgAAeHD/g87nc3IAEWphdmEubGFuZy5JbnRlZ2VyEuKgpPeBhzgCAAFJAAV2YWx1ZXhyABBqYXZhLmxhbmcuTnVtYmVyhqyVHQuU4IsCAAB4cAAAAAFzcgAMc2NhbGEuVHVwbGUyAfvdzSLnNHoCAAJMAAJfMXEAfgABTAACXzJxAH4AAXhwcQB+AApzcQB+AAgAAAACcQB+AA0=") + check(parallel.immutable.ParHashSet(1, 2, 3))( "rO0ABXNyAC5zY2FsYS5jb2xsZWN0aW9uLnBhcmFsbGVsLmltbXV0YWJsZS5QYXJIYXNoU2V0AAAAAAAAAAECAANMAA1TY2FuTGVhZiRsenkxdAASTGphdmEvbGFuZy9PYmplY3Q7TAANU2Nhbk5vZGUkbHp5MXEAfgABTAAEdHJpZXQAJ0xzY2FsYS9jb2xsZWN0aW9uL2ltbXV0YWJsZS9PbGRIYXNoU2V0O3hwcHBzcgAxc2NhbGEuY29sbGVjdGlvbi5pbW11dGFibGUuT2xkSGFzaFNldCRIYXNoVHJpZVNldOJNxSausJmiAgADSQAGYml0bWFwSQAFc2l6ZTBbAAVlbGVtc3QAKFtMc2NhbGEvY29sbGVjdGlvbi9pbW11dGFibGUvT2xkSGFzaFNldDt4cgAlc2NhbGEuY29sbGVjdGlvbi5pbW11dGFibGUuT2xkSGFzaFNldFjbkJLVO+YWAgAAeHAAEECAAAAAA3VyAChbTHNjYWxhLmNvbGxlY3Rpb24uaW1tdXRhYmxlLk9sZEhhc2hTZXQ7CAD6Mv3ASA4CAAB4cAAAAANzcgAxc2NhbGEuY29sbGVjdGlvbi5pbW11dGFibGUuT2xkSGFzaFNldCRPbGRIYXNoU2V0MR1AgCzq7c4OAgACSQAEaGFzaEwAA2tleXEAfgABeHIANHNjYWxhLmNvbGxlY3Rpb24uaW1tdXRhYmxlLk9sZEhhc2hTZXQkTGVhZk9sZEhhc2hTZXRdhLftY1qm3QIAAHhxAH4ABv+DzudzcgARamF2YS5sYW5nLkludGVnZXIS4qCk94GHOAIAAUkABXZhbHVleHIAEGphdmEubGFuZy5OdW1iZXKGrJUdC5TgiwIAAHhwAAAAAXNxAH4ACv+DrM5zcQB+AA0AAAACc3EAfgAK/4OK1HNxAH4ADQAAAAM=") // TODO SI-8576 Uninitialized field under -Xcheckinit // check(new parallel.immutable.ParRange(new Range(0, 1, 2)))( "rO0ABXNyACxzY2FsYS5jb2xsZWN0aW9uLnBhcmFsbGVsLmltbXV0YWJsZS5QYXJSYW5nZQAAAAAAAAABAgAETAAXUGFyUmFuZ2VJdGVyYXRvciRtb2R1bGV0AEBMc2NhbGEvY29sbGVjdGlvbi9wYXJhbGxlbC9pbW11dGFibGUvUGFyUmFuZ2UkUGFyUmFuZ2VJdGVyYXRvciQ7TAAPU2NhbkxlYWYkbW9kdWxldAA1THNjYWxhL2NvbGxlY3Rpb24vcGFyYWxsZWwvUGFySXRlcmFibGVMaWtlJFNjYW5MZWFmJDtMAA9TY2FuTm9kZSRtb2R1bGV0ADVMc2NhbGEvY29sbGVjdGlvbi9wYXJhbGxlbC9QYXJJdGVyYWJsZUxpa2UkU2Nhbk5vZGUkO0wABXJhbmdldAAiTHNjYWxhL2NvbGxlY3Rpb24vaW1tdXRhYmxlL1JhbmdlO3hwcHBwc3IAIHNjYWxhLmNvbGxlY3Rpb24uaW1tdXRhYmxlLlJhbmdlabujVKsVMg0CAAdJAANlbmRaAAdpc0VtcHR5SQALbGFzdEVsZW1lbnRJABBudW1SYW5nZUVsZW1lbnRzSQAFc3RhcnRJAARzdGVwSQAPdGVybWluYWxFbGVtZW50eHAAAAABAAAAAAAAAAABAAAAAAAAAAIAAAAC") // TODO SI-8576 unstable under -Xcheckinit // check(parallel.mutable.ParArray(1, 2, 3))( "rO0ABXNyACpzY2FsYS5jb2xsZWN0aW9uLnBhcmFsbGVsLm11dGFibGUuUGFyQXJyYXkAAAAAAAAAAQMABEwAF1BhckFycmF5SXRlcmF0b3IkbW9kdWxldAA+THNjYWxhL2NvbGxlY3Rpb24vcGFyYWxsZWwvbXV0YWJsZS9QYXJBcnJheSRQYXJBcnJheUl0ZXJhdG9yJDtMAA9TY2FuTGVhZiRtb2R1bGV0ADVMc2NhbGEvY29sbGVjdGlvbi9wYXJhbGxlbC9QYXJJdGVyYWJsZUxpa2UkU2NhbkxlYWYkO0wAD1NjYW5Ob2RlJG1vZHVsZXQANUxzY2FsYS9jb2xsZWN0aW9uL3BhcmFsbGVsL1Bhckl0ZXJhYmxlTGlrZSRTY2FuTm9kZSQ7TAAIYXJyYXlzZXF0ACNMc2NhbGEvY29sbGVjdGlvbi9tdXRhYmxlL0FycmF5U2VxO3hwcHBwc3IAMXNjYWxhLmNvbGxlY3Rpb24ucGFyYWxsZWwubXV0YWJsZS5FeHBvc2VkQXJyYXlTZXGx2OTefAodSQIAAkkABmxlbmd0aFsABWFycmF5dAATW0xqYXZhL2xhbmcvT2JqZWN0O3hyACFzY2FsYS5jb2xsZWN0aW9uLm11dGFibGUuQXJyYXlTZXEVPD3SKEkOcwIAAkkABmxlbmd0aFsABWFycmF5cQB+AAd4cAAAAAN1cgATW0xqYXZhLmxhbmcuT2JqZWN0O5DOWJ8QcylsAgAAeHAAAAADcHBwAAAAA3VxAH4ACgAAABBzcgARamF2YS5sYW5nLkludGVnZXIS4qCk94GHOAIAAUkABXZhbHVleHIAEGphdmEubGFuZy5OdW1iZXKGrJUdC5TgiwIAAHhwAAAAAXNxAH4ADQAAAAJzcQB+AA0AAAADcHBwcHBwcHBwcHBwcHg=") - check(parallel.mutable.ParHashMap(1 -> 2))( "rO0ABXNyACxzY2FsYS5jb2xsZWN0aW9uLnBhcmFsbGVsLm11dGFibGUuUGFySGFzaE1hcAAAAAAAAAADAwAJSgAJMGJpdG1hcCQxSQALX2xvYWRGYWN0b3JJAAlzZWVkdmFsdWVJAAl0YWJsZVNpemVJAAl0aHJlc2hvbGRMAA1TY2FuTGVhZiRsenkxdAA1THNjYWxhL2NvbGxlY3Rpb24vcGFyYWxsZWwvUGFySXRlcmFibGVMaWtlJFNjYW5MZWFmJDtMAA1TY2FuTm9kZSRsenkxdAA1THNjYWxhL2NvbGxlY3Rpb24vcGFyYWxsZWwvUGFySXRlcmFibGVMaWtlJFNjYW5Ob2RlJDtbAAdzaXplbWFwdAACW0lbAAV0YWJsZXQAJVtMc2NhbGEvY29sbGVjdGlvbi9tdXRhYmxlL0hhc2hFbnRyeTt4cHcNAAAC7gAAAAEAAAAEAXNyABFqYXZhLmxhbmcuSW50ZWdlchLioKT3gYc4AgABSQAFdmFsdWV4cgAQamF2YS5sYW5nLk51bWJlcoaslR0LlOCLAgAAeHAAAAABc3EAfgAGAAAAAng=") - check(parallel.mutable.ParHashSet(1, 2, 3))( "rO0ABXNyACxzY2FsYS5jb2xsZWN0aW9uLnBhcmFsbGVsLm11dGFibGUuUGFySGFzaFNldAAAAAAAAAABAwAJSgAJMGJpdG1hcCQxSQALX2xvYWRGYWN0b3JJAAlzZWVkdmFsdWVJAAl0YWJsZVNpemVJAAl0aHJlc2hvbGRMAA1TY2FuTGVhZiRsenkxdAA1THNjYWxhL2NvbGxlY3Rpb24vcGFyYWxsZWwvUGFySXRlcmFibGVMaWtlJFNjYW5MZWFmJDtMAA1TY2FuTm9kZSRsenkxdAA1THNjYWxhL2NvbGxlY3Rpb24vcGFyYWxsZWwvUGFySXRlcmFibGVMaWtlJFNjYW5Ob2RlJDtbAAdzaXplbWFwdAACW0lbAAV0YWJsZXQAE1tMamF2YS9sYW5nL09iamVjdDt4cHcNAAABwgAAAAMAAAAbAXNyABFqYXZhLmxhbmcuSW50ZWdlchLioKT3gYc4AgABSQAFdmFsdWV4cgAQamF2YS5sYW5nLk51bWJlcoaslR0LlOCLAgAAeHAAAAABc3EAfgAGAAAAAnNxAH4ABgAAAAN4") + check(parallel.mutable.ParHashMap(1 -> 2))( "rO0ABXNyACxzY2FsYS5jb2xsZWN0aW9uLnBhcmFsbGVsLm11dGFibGUuUGFySGFzaE1hcAAAAAAAAAADAwAISQALX2xvYWRGYWN0b3JJAAlzZWVkdmFsdWVJAAl0YWJsZVNpemVJAAl0aHJlc2hvbGRMAA1TY2FuTGVhZiRsenkxdAASTGphdmEvbGFuZy9PYmplY3Q7TAANU2Nhbk5vZGUkbHp5MXEAfgABWwAHc2l6ZW1hcHQAAltJWwAFdGFibGV0ACVbTHNjYWxhL2NvbGxlY3Rpb24vbXV0YWJsZS9IYXNoRW50cnk7eHB3DQAAAu4AAAABAAAABAFzcgARamF2YS5sYW5nLkludGVnZXIS4qCk94GHOAIAAUkABXZhbHVleHIAEGphdmEubGFuZy5OdW1iZXKGrJUdC5TgiwIAAHhwAAAAAXNxAH4ABQAAAAJ4") + check(parallel.mutable.ParHashSet(1, 2, 3))( "rO0ABXNyACxzY2FsYS5jb2xsZWN0aW9uLnBhcmFsbGVsLm11dGFibGUuUGFySGFzaFNldAAAAAAAAAABAwAISQALX2xvYWRGYWN0b3JJAAlzZWVkdmFsdWVJAAl0YWJsZVNpemVJAAl0aHJlc2hvbGRMAA1TY2FuTGVhZiRsenkxdAASTGphdmEvbGFuZy9PYmplY3Q7TAANU2Nhbk5vZGUkbHp5MXEAfgABWwAHc2l6ZW1hcHQAAltJWwAFdGFibGV0ABNbTGphdmEvbGFuZy9PYmplY3Q7eHB3DQAAAcIAAAADAAAAGwFzcgARamF2YS5sYW5nLkludGVnZXIS4qCk94GHOAIAAUkABXZhbHVleHIAEGphdmEubGFuZy5OdW1iZXKGrJUdC5TgiwIAAHhwAAAAAXNxAH4ABQAAAAJzcQB+AAUAAAADeA==") } class SerializationStabilityTest { @Test def testAll: Unit = SerializationStability.main(new Array[String](0)) -} +} \ No newline at end of file diff --git a/junit/src/test/scala/MiscTest.scala b/junit/src/test/scala/MiscTest.scala index 38d7aaea..a8371cb6 100644 --- a/junit/src/test/scala/MiscTest.scala +++ b/junit/src/test/scala/MiscTest.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). @@ -25,7 +25,7 @@ class MiscTest { } } - def foo(arg: ParSeq[_]): String = arg.map(x => x).mkString(",") + def foo(arg: ParSeq[?]): String = arg.map(x => x).mkString(",") @Test def si4608: Unit = { @@ -113,9 +113,9 @@ class MiscTest { @Test def si6510: Unit = { val x = collection.parallel.mutable.ParArray.range(1,10) groupBy { _ % 2 } mapValues { _.size } - assertTrue(x.isInstanceOf[parallel.ParMap[_, _]]) + assertTrue(x.isInstanceOf[parallel.ParMap[?, ?]]) val y = collection.parallel.immutable.ParVector.range(1,10) groupBy { _ % 2 } mapValues { _.size } - assertTrue(y.isInstanceOf[parallel.ParMap[_, _]]) + assertTrue(y.isInstanceOf[parallel.ParMap[?, ?]]) } @Test diff --git a/junit/src/test/scala/SerializationStabilityBase.scala b/junit/src/test/scala/SerializationStabilityBase.scala index 503031c8..4f9b36fe 100644 --- a/junit/src/test/scala/SerializationStabilityBase.scala +++ b/junit/src/test/scala/SerializationStabilityBase.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/junit/src/test/scala/scala/CollectTest.scala b/junit/src/test/scala/scala/CollectTest.scala index 77ef2de2..3f49c892 100644 --- a/junit/src/test/scala/scala/CollectTest.scala +++ b/junit/src/test/scala/scala/CollectTest.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/junit/src/test/scala/scala/collection/CollectionConversionsTest.scala b/junit/src/test/scala/scala/collection/CollectionConversionsTest.scala index 9dfc8b6d..79f6ecce 100644 --- a/junit/src/test/scala/scala/collection/CollectionConversionsTest.scala +++ b/junit/src/test/scala/scala/collection/CollectionConversionsTest.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/junit/src/test/scala/scala/collection/NewBuilderTest.scala b/junit/src/test/scala/scala/collection/NewBuilderTest.scala index 51fd380c..4466f91b 100644 --- a/junit/src/test/scala/scala/collection/NewBuilderTest.scala +++ b/junit/src/test/scala/scala/collection/NewBuilderTest.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). @@ -34,85 +34,85 @@ class NewBuilderTest { assertTrue(s"$mapped (of class ${mapped.getClass} is not a in instance of ${expected}", isInstance) } - test[sc.Iterable[_] ]((sc.Iterable(1): sc.Iterable[Int]).map(x => x)) - test[sc.Seq[_] ]((sc.Seq(1): sc.Iterable[Int]).map(x => x)) - test[sc.LinearSeq[_] ]((sc.LinearSeq(1): sc.Iterable[Int]).map(x => x)) - test[sc.LinearSeq[_] ]((sc.LinearSeq(1): sc.Seq[Int] ).map(x => x)) - test[sc.IndexedSeq[_] ]((sc.IndexedSeq(1): sc.Iterable[Int]).map(x => x)) - test[sc.IndexedSeq[_] ]((sc.IndexedSeq(1): sc.Seq[Int] ).map(x => x)) - test[sc.Set[_] ]((sc.Set(1): sc.Iterable[Int]).map(x => x)) - test[sc.Map[_, _] ]((sc.Map(1 -> 1): sc.Map[Int, Int]).map(x => x)) - - test[scm.Iterable[_] ]((scm.Iterable(1): sc.Iterable[Int]).map(x => x)) - test[scm.Queue[_] ]((scm.Queue(1): sc.Iterable[Int]).map(x => x)) - test[scm.Queue[_] ]((scm.Queue(1): sc.Seq[Int] ).map(x => x)) - test[scm.ArraySeq[_] ]((scm.ArraySeq(1): sc.Iterable[Int]).map(x => x)) - test[scm.ArraySeq[_] ]((scm.ArraySeq(1): sc.Seq[Int] ).map(x => x)) - - test[scm.Buffer[_] ]((scm.Buffer(1): sc.Iterable[Int]).map(x => x)) - test[scm.Buffer[_] ]((scm.Buffer(1): sc.Seq[Int] ).map(x => x)) - test[scm.IndexedSeq[_] ]((scm.IndexedSeq(1): sc.Iterable[Int]).map(x => x)) - test[scm.IndexedSeq[_] ]((scm.IndexedSeq(1): sc.Seq[Int] ).map(x => x)) - test[scm.ArrayBuffer[_] ]((scm.ArrayBuffer(1): sc.Iterable[Int]).map(x => x)) - test[scm.ArrayBuffer[_] ]((scm.ArrayBuffer(1): sc.Seq[Int] ).map(x => x)) - test[scm.ListBuffer[_] ]((scm.ListBuffer(1): sc.Iterable[Int]).map(x => x)) - test[scm.ListBuffer[_] ]((scm.ListBuffer(1): sc.Seq[Int] ).map(x => x)) - test[scm.Seq[_] ]((scm.Seq(1): sc.Iterable[Int]).map(x => x)) - test[scm.Seq[_] ]((scm.Seq(1): sc.Seq[Int] ).map(x => x)) - test[scm.Set[_] ]((scm.Set(1): sc.Iterable[Int]).map(x => x)) - test[scm.Set[_] ]((scm.Set(1): sc.Set[Int] ).map(x => x)) - test[scm.HashSet[_] ]((scm.HashSet(1): sc.Iterable[Int]).map(x => x)) - test[scm.HashSet[_] ]((scm.HashSet(1): sc.Set[Int] ).map(x => x)) - test[scm.LinkedHashSet[_] ]((scm.LinkedHashSet(1): sc.Iterable[Int]).map(x => x)) - test[scm.LinkedHashSet[_] ]((scm.LinkedHashSet(1): sc.Set[Int] ).map(x => x)) - - test[sci.Iterable[_] ]((sci.Iterable(1): sc.Iterable[Int]).map(x => x)) - test[sci.LinearSeq[_] ]((sci.LinearSeq(1): sc.Iterable[Int]).map(x => x)) - test[sci.LinearSeq[_] ]((sci.LinearSeq(1): sc.Seq[Int] ).map(x => x)) - test[sci.List[_] ]((sci.List(1): sc.Iterable[Int]).map(x => x)) - test[sci.List[_] ]((sci.List(1): sc.Seq[Int] ).map(x => x)) - test[sci.LazyList[_] ]((sci.LazyList(1): sc.Iterable[Int]).map(x => x)) - test[sci.LazyList[_] ]((sci.LazyList(1): sc.Seq[Int] ).map(x => x)) - test[sci.Queue[_] ]((sci.Queue(1): sc.Iterable[Int]).map(x => x)) - test[sci.Queue[_] ]((sci.Queue(1): sc.Seq[Int] ).map(x => x)) - test[sci.IndexedSeq[_] ]((sci.IndexedSeq(1): sc.Iterable[Int]).map(x => x)) - test[sci.IndexedSeq[_] ]((sci.IndexedSeq(1): sc.Seq[Int] ).map(x => x)) - test[sci.Vector[_] ]((sci.Vector(1): sc.Iterable[Int]).map(x => x)) - test[sci.Vector[_] ]((sci.Vector(1): sc.Seq[Int] ).map(x => x)) - test[sci.Seq[_] ]((sci.Seq(1): sc.Iterable[Int]).map(x => x)) - test[sci.Seq[_] ]((sci.Seq(1): sc.Seq[Int] ).map(x => x)) - test[sci.Set[_] ]((sci.Set(1): sc.Iterable[Int]).map(x => x)) - test[sci.Set[_] ]((sci.Set(1): sc.Set[Int] ).map(x => x)) - test[sci.ListSet[_] ]((sci.ListSet(1): sc.Iterable[Int]).map(x => x)) - test[sci.ListSet[_] ]((sci.ListSet(1): sc.Set[Int] ).map(x => x)) - test[sci.HashSet[_] ]((sci.HashSet(1): sc.Iterable[Int]).map(x => x)) - test[sci.HashSet[_] ]((sci.HashSet(1): sc.Set[Int] ).map(x => x)) - - test[scp.ParIterable[_] ]((scp.ParIterable(1): scp.ParIterable[Int]).map(x => x)) - test[scp.ParSeq[_] ]((scp.ParSeq(1): scp.ParIterable[Int]).map(x => x)) - test[scp.ParSeq[_] ]((scp.ParSeq(1): scp.ParSeq[Int] ).map(x => x)) - test[scp.ParSet[_] ]((scp.ParSet(1): scp.ParIterable[Int]).map(x => x)) - test[scp.ParSet[_] ]((scp.ParSet(1): scp.ParSet[Int] ).map(x => x)) - - test[scpm.ParIterable[_] ]((scpm.ParIterable(1): scp.ParIterable[Int]).map(x => x)) - test[scpm.ParSeq[_] ]((scpm.ParSeq(1): scp.ParIterable[Int]).map(x => x)) - test[scpm.ParSeq[_] ]((scpm.ParSeq(1): scp.ParSeq[Int] ).map(x => x)) - test[scpm.ParArray[_] ]((scpm.ParArray(1): scp.ParIterable[Int]).map(x => x)) - test[scpm.ParArray[_] ]((scpm.ParArray(1): scp.ParSeq[Int] ).map(x => x)) - test[scpm.ParSet[_] ]((scpm.ParSet(1): scp.ParIterable[Int]).map(x => x)) - test[scpm.ParSet[_] ]((scpm.ParSet(1): scp.ParSet[Int] ).map(x => x)) - test[scpm.ParHashSet[_] ]((scpm.ParHashSet(1): scp.ParIterable[Int]).map(x => x)) - test[scpm.ParHashSet[_] ]((scpm.ParHashSet(1): scp.ParSet[Int] ).map(x => x)) - - test[scpi.ParIterable[_] ]((scpi.ParIterable(1): scp.ParIterable[Int]).map(x => x)) - test[scpi.ParSeq[_] ]((scpi.ParSeq(1): scp.ParIterable[Int]).map(x => x)) - test[scpi.ParSeq[_] ]((scpi.ParSeq(1): scp.ParSeq[Int] ).map(x => x)) - test[scpi.ParVector[_] ]((scpi.ParVector(1): scp.ParIterable[Int]).map(x => x)) - test[scpi.ParVector[_] ]((scpi.ParVector(1): scp.ParSeq[Int] ).map(x => x)) - test[scpi.ParSet[_] ]((scpi.ParSet(1): scp.ParIterable[Int]).map(x => x)) - test[scpi.ParSet[_] ]((scpi.ParSet(1): scp.ParSet[Int] ).map(x => x)) - test[scpi.ParHashSet[_] ]((scpi.ParHashSet(1): scp.ParIterable[Int]).map(x => x)) - test[scpi.ParHashSet[_] ]((scpi.ParHashSet(1): scp.ParSet[Int] ).map(x => x)) + test[sc.Iterable[?] ]((sc.Iterable(1): sc.Iterable[Int]).map(x => x)) + test[sc.Seq[?] ]((sc.Seq(1): sc.Iterable[Int]).map(x => x)) + test[sc.LinearSeq[?] ]((sc.LinearSeq(1): sc.Iterable[Int]).map(x => x)) + test[sc.LinearSeq[?] ]((sc.LinearSeq(1): sc.Seq[Int] ).map(x => x)) + test[sc.IndexedSeq[?] ]((sc.IndexedSeq(1): sc.Iterable[Int]).map(x => x)) + test[sc.IndexedSeq[?] ]((sc.IndexedSeq(1): sc.Seq[Int] ).map(x => x)) + test[sc.Set[?] ]((sc.Set(1): sc.Iterable[Int]).map(x => x)) + test[sc.Map[?, ?] ]((sc.Map(1 -> 1): sc.Map[Int, Int]).map(x => x)) + + test[scm.Iterable[?] ]((scm.Iterable(1): sc.Iterable[Int]).map(x => x)) + test[scm.Queue[?] ]((scm.Queue(1): sc.Iterable[Int]).map(x => x)) + test[scm.Queue[?] ]((scm.Queue(1): sc.Seq[Int] ).map(x => x)) + test[scm.ArraySeq[?] ]((scm.ArraySeq(1): sc.Iterable[Int]).map(x => x)) + test[scm.ArraySeq[?] ]((scm.ArraySeq(1): sc.Seq[Int] ).map(x => x)) + + test[scm.Buffer[?] ]((scm.Buffer(1): sc.Iterable[Int]).map(x => x)) + test[scm.Buffer[?] ]((scm.Buffer(1): sc.Seq[Int] ).map(x => x)) + test[scm.IndexedSeq[?] ]((scm.IndexedSeq(1): sc.Iterable[Int]).map(x => x)) + test[scm.IndexedSeq[?] ]((scm.IndexedSeq(1): sc.Seq[Int] ).map(x => x)) + test[scm.ArrayBuffer[?] ]((scm.ArrayBuffer(1): sc.Iterable[Int]).map(x => x)) + test[scm.ArrayBuffer[?] ]((scm.ArrayBuffer(1): sc.Seq[Int] ).map(x => x)) + test[scm.ListBuffer[?] ]((scm.ListBuffer(1): sc.Iterable[Int]).map(x => x)) + test[scm.ListBuffer[?] ]((scm.ListBuffer(1): sc.Seq[Int] ).map(x => x)) + test[scm.Seq[?] ]((scm.Seq(1): sc.Iterable[Int]).map(x => x)) + test[scm.Seq[?] ]((scm.Seq(1): sc.Seq[Int] ).map(x => x)) + test[scm.Set[?] ]((scm.Set(1): sc.Iterable[Int]).map(x => x)) + test[scm.Set[?] ]((scm.Set(1): sc.Set[Int] ).map(x => x)) + test[scm.HashSet[?] ]((scm.HashSet(1): sc.Iterable[Int]).map(x => x)) + test[scm.HashSet[?] ]((scm.HashSet(1): sc.Set[Int] ).map(x => x)) + test[scm.LinkedHashSet[?] ]((scm.LinkedHashSet(1): sc.Iterable[Int]).map(x => x)) + test[scm.LinkedHashSet[?] ]((scm.LinkedHashSet(1): sc.Set[Int] ).map(x => x)) + + test[sci.Iterable[?] ]((sci.Iterable(1): sc.Iterable[Int]).map(x => x)) + test[sci.LinearSeq[?] ]((sci.LinearSeq(1): sc.Iterable[Int]).map(x => x)) + test[sci.LinearSeq[?] ]((sci.LinearSeq(1): sc.Seq[Int] ).map(x => x)) + test[sci.List[?] ]((sci.List(1): sc.Iterable[Int]).map(x => x)) + test[sci.List[?] ]((sci.List(1): sc.Seq[Int] ).map(x => x)) + test[sci.LazyList[?] ]((sci.LazyList(1): sc.Iterable[Int]).map(x => x)) + test[sci.LazyList[?] ]((sci.LazyList(1): sc.Seq[Int] ).map(x => x)) + test[sci.Queue[?] ]((sci.Queue(1): sc.Iterable[Int]).map(x => x)) + test[sci.Queue[?] ]((sci.Queue(1): sc.Seq[Int] ).map(x => x)) + test[sci.IndexedSeq[?] ]((sci.IndexedSeq(1): sc.Iterable[Int]).map(x => x)) + test[sci.IndexedSeq[?] ]((sci.IndexedSeq(1): sc.Seq[Int] ).map(x => x)) + test[sci.Vector[?] ]((sci.Vector(1): sc.Iterable[Int]).map(x => x)) + test[sci.Vector[?] ]((sci.Vector(1): sc.Seq[Int] ).map(x => x)) + test[sci.Seq[?] ]((sci.Seq(1): sc.Iterable[Int]).map(x => x)) + test[sci.Seq[?] ]((sci.Seq(1): sc.Seq[Int] ).map(x => x)) + test[sci.Set[?] ]((sci.Set(1): sc.Iterable[Int]).map(x => x)) + test[sci.Set[?] ]((sci.Set(1): sc.Set[Int] ).map(x => x)) + test[sci.ListSet[?] ]((sci.ListSet(1): sc.Iterable[Int]).map(x => x)) + test[sci.ListSet[?] ]((sci.ListSet(1): sc.Set[Int] ).map(x => x)) + test[sci.HashSet[?] ]((sci.HashSet(1): sc.Iterable[Int]).map(x => x)) + test[sci.HashSet[?] ]((sci.HashSet(1): sc.Set[Int] ).map(x => x)) + + test[scp.ParIterable[?] ]((scp.ParIterable(1): scp.ParIterable[Int]).map(x => x)) + test[scp.ParSeq[?] ]((scp.ParSeq(1): scp.ParIterable[Int]).map(x => x)) + test[scp.ParSeq[?] ]((scp.ParSeq(1): scp.ParSeq[Int] ).map(x => x)) + test[scp.ParSet[?] ]((scp.ParSet(1): scp.ParIterable[Int]).map(x => x)) + test[scp.ParSet[?] ]((scp.ParSet(1): scp.ParSet[Int] ).map(x => x)) + + test[scpm.ParIterable[?] ]((scpm.ParIterable(1): scp.ParIterable[Int]).map(x => x)) + test[scpm.ParSeq[?] ]((scpm.ParSeq(1): scp.ParIterable[Int]).map(x => x)) + test[scpm.ParSeq[?] ]((scpm.ParSeq(1): scp.ParSeq[Int] ).map(x => x)) + test[scpm.ParArray[?] ]((scpm.ParArray(1): scp.ParIterable[Int]).map(x => x)) + test[scpm.ParArray[?] ]((scpm.ParArray(1): scp.ParSeq[Int] ).map(x => x)) + test[scpm.ParSet[?] ]((scpm.ParSet(1): scp.ParIterable[Int]).map(x => x)) + test[scpm.ParSet[?] ]((scpm.ParSet(1): scp.ParSet[Int] ).map(x => x)) + test[scpm.ParHashSet[?] ]((scpm.ParHashSet(1): scp.ParIterable[Int]).map(x => x)) + test[scpm.ParHashSet[?] ]((scpm.ParHashSet(1): scp.ParSet[Int] ).map(x => x)) + + test[scpi.ParIterable[?] ]((scpi.ParIterable(1): scp.ParIterable[Int]).map(x => x)) + test[scpi.ParSeq[?] ]((scpi.ParSeq(1): scp.ParIterable[Int]).map(x => x)) + test[scpi.ParSeq[?] ]((scpi.ParSeq(1): scp.ParSeq[Int] ).map(x => x)) + test[scpi.ParVector[?] ]((scpi.ParVector(1): scp.ParIterable[Int]).map(x => x)) + test[scpi.ParVector[?] ]((scpi.ParVector(1): scp.ParSeq[Int] ).map(x => x)) + test[scpi.ParSet[?] ]((scpi.ParSet(1): scp.ParIterable[Int]).map(x => x)) + test[scpi.ParSet[?] ]((scpi.ParSet(1): scp.ParSet[Int] ).map(x => x)) + test[scpi.ParHashSet[?] ]((scpi.ParHashSet(1): scp.ParIterable[Int]).map(x => x)) + test[scpi.ParHashSet[?] ]((scpi.ParHashSet(1): scp.ParSet[Int] ).map(x => x)) // These go through `GenMap.canBuildFrom`. There is no simple fix for Map like there is for Set. // A Map does not provide access to its companion object at runtime. (The `companion` field diff --git a/junit/src/test/scala/scala/collection/concurrent/ctries_new/ConcurrentMapSpec.scala b/junit/src/test/scala/scala/collection/concurrent/ctries_new/ConcurrentMapSpec.scala index 4464d295..2673962c 100644 --- a/junit/src/test/scala/scala/collection/concurrent/ctries_new/ConcurrentMapSpec.scala +++ b/junit/src/test/scala/scala/collection/concurrent/ctries_new/ConcurrentMapSpec.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/junit/src/test/scala/scala/collection/concurrent/ctries_new/DumbHash.scala b/junit/src/test/scala/scala/collection/concurrent/ctries_new/DumbHash.scala index a830c4fc..90c08d2d 100644 --- a/junit/src/test/scala/scala/collection/concurrent/ctries_new/DumbHash.scala +++ b/junit/src/test/scala/scala/collection/concurrent/ctries_new/DumbHash.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/junit/src/test/scala/scala/collection/concurrent/ctries_new/IteratorSpec.scala b/junit/src/test/scala/scala/collection/concurrent/ctries_new/IteratorSpec.scala index 58fe5dae..ca8aad7b 100644 --- a/junit/src/test/scala/scala/collection/concurrent/ctries_new/IteratorSpec.scala +++ b/junit/src/test/scala/scala/collection/concurrent/ctries_new/IteratorSpec.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/junit/src/test/scala/scala/collection/concurrent/ctries_new/LNodeSpec.scala b/junit/src/test/scala/scala/collection/concurrent/ctries_new/LNodeSpec.scala index 01a1efa8..7e3ae68e 100644 --- a/junit/src/test/scala/scala/collection/concurrent/ctries_new/LNodeSpec.scala +++ b/junit/src/test/scala/scala/collection/concurrent/ctries_new/LNodeSpec.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/junit/src/test/scala/scala/collection/concurrent/ctries_new/SnapshotSpec.scala b/junit/src/test/scala/scala/collection/concurrent/ctries_new/SnapshotSpec.scala index 2a1654a7..082d5cf5 100644 --- a/junit/src/test/scala/scala/collection/concurrent/ctries_new/SnapshotSpec.scala +++ b/junit/src/test/scala/scala/collection/concurrent/ctries_new/SnapshotSpec.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/junit/src/test/scala/scala/collection/concurrent/ctries_new/Spec.scala b/junit/src/test/scala/scala/collection/concurrent/ctries_new/Spec.scala index 3010649c..1b8cea67 100644 --- a/junit/src/test/scala/scala/collection/concurrent/ctries_new/Spec.scala +++ b/junit/src/test/scala/scala/collection/concurrent/ctries_new/Spec.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/junit/src/test/scala/scala/collection/concurrent/ctries_new/Wrap.scala b/junit/src/test/scala/scala/collection/concurrent/ctries_new/Wrap.scala index c567cf79..ca8d36cd 100644 --- a/junit/src/test/scala/scala/collection/concurrent/ctries_new/Wrap.scala +++ b/junit/src/test/scala/scala/collection/concurrent/ctries_new/Wrap.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/junit/src/test/scala/scala/collection/concurrent/ctries_old/ConcurrentMapSpec.scala b/junit/src/test/scala/scala/collection/concurrent/ctries_old/ConcurrentMapSpec.scala index 3357f70d..210c8fa3 100644 --- a/junit/src/test/scala/scala/collection/concurrent/ctries_old/ConcurrentMapSpec.scala +++ b/junit/src/test/scala/scala/collection/concurrent/ctries_old/ConcurrentMapSpec.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/junit/src/test/scala/scala/collection/concurrent/ctries_old/DumbHash.scala b/junit/src/test/scala/scala/collection/concurrent/ctries_old/DumbHash.scala index ad21d099..3315b248 100644 --- a/junit/src/test/scala/scala/collection/concurrent/ctries_old/DumbHash.scala +++ b/junit/src/test/scala/scala/collection/concurrent/ctries_old/DumbHash.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/junit/src/test/scala/scala/collection/concurrent/ctries_old/IteratorSpec.scala b/junit/src/test/scala/scala/collection/concurrent/ctries_old/IteratorSpec.scala index b46edfd3..48a55d06 100644 --- a/junit/src/test/scala/scala/collection/concurrent/ctries_old/IteratorSpec.scala +++ b/junit/src/test/scala/scala/collection/concurrent/ctries_old/IteratorSpec.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/junit/src/test/scala/scala/collection/concurrent/ctries_old/LNodeSpec.scala b/junit/src/test/scala/scala/collection/concurrent/ctries_old/LNodeSpec.scala index a40186b6..e69ee14b 100644 --- a/junit/src/test/scala/scala/collection/concurrent/ctries_old/LNodeSpec.scala +++ b/junit/src/test/scala/scala/collection/concurrent/ctries_old/LNodeSpec.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/junit/src/test/scala/scala/collection/concurrent/ctries_old/SnapshotSpec.scala b/junit/src/test/scala/scala/collection/concurrent/ctries_old/SnapshotSpec.scala index 1bf4b175..01d79b84 100644 --- a/junit/src/test/scala/scala/collection/concurrent/ctries_old/SnapshotSpec.scala +++ b/junit/src/test/scala/scala/collection/concurrent/ctries_old/SnapshotSpec.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/junit/src/test/scala/scala/collection/concurrent/ctries_old/Spec.scala b/junit/src/test/scala/scala/collection/concurrent/ctries_old/Spec.scala index 6b5f0e4f..c0776817 100644 --- a/junit/src/test/scala/scala/collection/concurrent/ctries_old/Spec.scala +++ b/junit/src/test/scala/scala/collection/concurrent/ctries_old/Spec.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/junit/src/test/scala/scala/collection/concurrent/ctries_old/Wrap.scala b/junit/src/test/scala/scala/collection/concurrent/ctries_old/Wrap.scala index f3cb3878..15e16b95 100644 --- a/junit/src/test/scala/scala/collection/concurrent/ctries_old/Wrap.scala +++ b/junit/src/test/scala/scala/collection/concurrent/ctries_old/Wrap.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/junit/src/test/scala/scala/collection/parallel/ParMapTest.scala b/junit/src/test/scala/scala/collection/parallel/ParMapTest.scala index 475dc5b3..8071c80f 100644 --- a/junit/src/test/scala/scala/collection/parallel/ParMapTest.scala +++ b/junit/src/test/scala/scala/collection/parallel/ParMapTest.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/junit/src/test/scala/scala/collection/parallel/ParSeqConversionsTest.scala b/junit/src/test/scala/scala/collection/parallel/ParSeqConversionsTest.scala index a7637d8b..2e7c4875 100644 --- a/junit/src/test/scala/scala/collection/parallel/ParSeqConversionsTest.scala +++ b/junit/src/test/scala/scala/collection/parallel/ParSeqConversionsTest.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/junit/src/test/scala/scala/collection/parallel/SerializationTest.scala b/junit/src/test/scala/scala/collection/parallel/SerializationTest.scala index c30ee2f4..5833c55e 100644 --- a/junit/src/test/scala/scala/collection/parallel/SerializationTest.scala +++ b/junit/src/test/scala/scala/collection/parallel/SerializationTest.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/junit/src/test/scala/scala/collection/parallel/TaskTest.scala b/junit/src/test/scala/scala/collection/parallel/TaskTest.scala index 089e5292..666bca76 100644 --- a/junit/src/test/scala/scala/collection/parallel/TaskTest.scala +++ b/junit/src/test/scala/scala/collection/parallel/TaskTest.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). @@ -29,7 +29,12 @@ class TaskTest { t } } - def mkPool(name: String) = new ForkJoinPool(1, mkFactory(name), null, false) + def mkPool(name: String) = { + val parallelism = 1 + val handler: Thread.UncaughtExceptionHandler = null + val asyncMode = false + new ForkJoinPool(parallelism, mkFactory(name), handler, asyncMode) + } val one = List(1).par val two = List(2).par @@ -48,4 +53,43 @@ class TaskTest { val r = c.filter(_ != 0).map(_ + 1) assertSame(myTs, r.tasksupport) } + + // was: Wrong exception: expected scala.collection.parallel.TaskTest$SpecialControl$1 but was java.lang.IllegalArgumentException + @Test + def `t10276 exception does not suppress itself when merging`: Unit = { + import TestSupport._ + import scala.util.control.ControlThrowable + class SpecialControl extends ControlThrowable("special") + val SpecialExcept = new SpecialControl + + class Special { + def add(other: Special): Special = throw SpecialExcept + } + + def listed(n: Int) = List.fill(n)(new Special) + val specials = listed(1000).par + assertThrows[SpecialControl](_ eq SpecialExcept)(specials.reduce(_ add _)) + } +} +object TestSupport { + import scala.reflect.ClassTag + import scala.util.control.{ControlThrowable, NonFatal} + private val Unthrown = new ControlThrowable {} + + def assertThrows[T <: Throwable: ClassTag](checker: T => Boolean)(body: => Any): Unit = + try { + body + throw Unthrown + } catch { + case Unthrown => fail("Expression did not throw!") + case e: T if checker(e) => () + case failed: T => + val ae = new AssertionError(s"Exception failed check: $failed") + ae.addSuppressed(failed) + throw ae + case NonFatal(other) => + val ae = new AssertionError(s"Wrong exception: expected ${implicitly[ClassTag[T]]} but was ${other.getClass.getName}") + ae.addSuppressed(other) + throw ae + } } diff --git a/junit/src/test/scala/scala/collection/parallel/immutable/ParRangeTest.scala b/junit/src/test/scala/scala/collection/parallel/immutable/ParRangeTest.scala index c96ad58b..f4ad75c7 100644 --- a/junit/src/test/scala/scala/collection/parallel/immutable/ParRangeTest.scala +++ b/junit/src/test/scala/scala/collection/parallel/immutable/ParRangeTest.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/junit/src/test/scala/scala/collection/parallel/mutable/ParArrayTest.scala b/junit/src/test/scala/scala/collection/parallel/mutable/ParArrayTest.scala index 12eb8680..fba95900 100644 --- a/junit/src/test/scala/scala/collection/parallel/mutable/ParArrayTest.scala +++ b/junit/src/test/scala/scala/collection/parallel/mutable/ParArrayTest.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/junit/src/test/scala/scala/collection/parallel/mutable/ParHashSetTest.scala b/junit/src/test/scala/scala/collection/parallel/mutable/ParHashSetTest.scala index 346d7feb..dc123664 100644 --- a/junit/src/test/scala/scala/collection/parallel/mutable/ParHashSetTest.scala +++ b/junit/src/test/scala/scala/collection/parallel/mutable/ParHashSetTest.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/project/GetScala3Next.scala b/project/GetScala3Next.scala new file mode 100644 index 00000000..4dedc92d --- /dev/null +++ b/project/GetScala3Next.scala @@ -0,0 +1,31 @@ +import java.nio.ByteBuffer + +import scala.concurrent._, duration._, ExecutionContext.Implicits._ + +import gigahorse._, support.okhttp.Gigahorse + +import sjsonnew.shaded.scalajson.ast.unsafe._ +import sjsonnew.support.scalajson.unsafe.{ Converter, Parser } + +object GetScala3Next { + val asJson = (r: FullResponse) => Parser.parseFromByteBuffer(r.bodyAsByteBuffer).get + + def get(): String = { + val req = Gigahorse.url("https://api.github.com/repos/lampepfl/dotty/releases") + .get.addQueryString("per_page" -> "1") + + val http = Gigahorse.http(Gigahorse.config) + + try { + val f = http.run(req, asJson) + + val f2 = f.collect { + case JArray(Array(JObject(fields))) => fields.collectFirst { + case JField("tag_name", JString(version)) => version + } + }.map(_.getOrElse(sys.error(s"Expected an array of 1 string, got $f"))) + + Await.result(f2, 120.seconds) + } finally http.close() + } +} diff --git a/project/build.properties b/project/build.properties index 10fd9eee..73df629a 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.5.5 +sbt.version=1.10.7 diff --git a/project/plugins.sbt b/project/plugins.sbt index a668f722..5a35ece7 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1 +1,3 @@ -addSbtPlugin("org.scala-lang.modules" % "sbt-scala-module" % "3.0.0") +addSbtPlugin("org.scala-lang.modules" % "sbt-scala-module" % "3.2.2") +addSbtPlugin("com.eed3si9n" % "sbt-projectmatrix" % "0.10.1") +addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.5.6") diff --git a/scalacheck/src/test/scala/IntOperators.scala b/scalacheck/src/test/scala/IntOperators.scala index 46edec9f..236414c8 100644 --- a/scalacheck/src/test/scala/IntOperators.scala +++ b/scalacheck/src/test/scala/IntOperators.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/scalacheck/src/test/scala/IntValues.scala b/scalacheck/src/test/scala/IntValues.scala index 66f8db8c..0a408fe7 100644 --- a/scalacheck/src/test/scala/IntValues.scala +++ b/scalacheck/src/test/scala/IntValues.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/scalacheck/src/test/scala/Operators.scala b/scalacheck/src/test/scala/Operators.scala index 05c74c70..61ec1c20 100644 --- a/scalacheck/src/test/scala/Operators.scala +++ b/scalacheck/src/test/scala/Operators.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/scalacheck/src/test/scala/PairOperators.scala b/scalacheck/src/test/scala/PairOperators.scala index a5aafb52..b03dbab4 100644 --- a/scalacheck/src/test/scala/PairOperators.scala +++ b/scalacheck/src/test/scala/PairOperators.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/scalacheck/src/test/scala/PairValues.scala b/scalacheck/src/test/scala/PairValues.scala index 0e7be87d..fad3dbf3 100644 --- a/scalacheck/src/test/scala/PairValues.scala +++ b/scalacheck/src/test/scala/PairValues.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/scalacheck/src/test/scala/ParallelArrayCheck.scala b/scalacheck/src/test/scala/ParallelArrayCheck.scala index 62674811..47dbcaf0 100644 --- a/scalacheck/src/test/scala/ParallelArrayCheck.scala +++ b/scalacheck/src/test/scala/ParallelArrayCheck.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/scalacheck/src/test/scala/ParallelCtrieCheck.scala b/scalacheck/src/test/scala/ParallelCtrieCheck.scala index f6aae85e..75272d3e 100644 --- a/scalacheck/src/test/scala/ParallelCtrieCheck.scala +++ b/scalacheck/src/test/scala/ParallelCtrieCheck.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/scalacheck/src/test/scala/ParallelHashMapCheck.scala b/scalacheck/src/test/scala/ParallelHashMapCheck.scala index 91ac1ac9..c627488f 100644 --- a/scalacheck/src/test/scala/ParallelHashMapCheck.scala +++ b/scalacheck/src/test/scala/ParallelHashMapCheck.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/scalacheck/src/test/scala/ParallelHashSetCheck.scala b/scalacheck/src/test/scala/ParallelHashSetCheck.scala index 480d1514..83df143d 100644 --- a/scalacheck/src/test/scala/ParallelHashSetCheck.scala +++ b/scalacheck/src/test/scala/ParallelHashSetCheck.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/scalacheck/src/test/scala/ParallelHashTrieCheck.scala b/scalacheck/src/test/scala/ParallelHashTrieCheck.scala index cc3d43e3..5c4a3b8e 100644 --- a/scalacheck/src/test/scala/ParallelHashTrieCheck.scala +++ b/scalacheck/src/test/scala/ParallelHashTrieCheck.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/scalacheck/src/test/scala/ParallelIterableCheck.scala b/scalacheck/src/test/scala/ParallelIterableCheck.scala index 4102a127..04f6678d 100644 --- a/scalacheck/src/test/scala/ParallelIterableCheck.scala +++ b/scalacheck/src/test/scala/ParallelIterableCheck.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). @@ -81,7 +81,7 @@ abstract class ParallelIterableCheck[T](collName: String) extends Properties(col def areEqual(t1: Iterable[T], t2: ParIterable[T]) = if (hasStrictOrder) { t1.iterator.sameElements(t2) && t2.sameElements(t1) } else (t1, t2) match { // it is slightly delicate what `equal` means if the order is not strict - case (m1: Map[_, _], m2: ParMap[_, _]) => + case (m1: Map[?, ?], m2: ParMap[?, ?]) => val am1: Map[Any, Any] = m1.asInstanceOf[Map[Any, Any]] val am2: ParMap[Any, Any] = m2.asInstanceOf[ParMap[Any, Any]] am1.forall { case (k, v) => am2.get(k).contains(v) } && am2.forall { case (k, v) => am1.get(k).contains(v) } @@ -98,7 +98,7 @@ abstract class ParallelIterableCheck[T](collName: String) extends Properties(col println(coll.tasksupport.debugMessages.mkString("\n")) } - def printComparison(t: Iterable[_], coll: ParIterable[_], tf: Iterable[_], cf: ParIterable[_], ind: Int): Unit = { + def printComparison(t: Iterable[?], coll: ParIterable[?], tf: Iterable[?], cf: ParIterable[?], ind: Int): Unit = { printDebugInfo(coll) println("Operator: " + ind) println("sz: " + t.size) diff --git a/scalacheck/src/test/scala/ParallelMapCheck1.scala b/scalacheck/src/test/scala/ParallelMapCheck1.scala index 904e943b..19bc35d3 100644 --- a/scalacheck/src/test/scala/ParallelMapCheck1.scala +++ b/scalacheck/src/test/scala/ParallelMapCheck1.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/scalacheck/src/test/scala/ParallelRangeCheck.scala b/scalacheck/src/test/scala/ParallelRangeCheck.scala index 1f1d8d7c..f49f8d43 100644 --- a/scalacheck/src/test/scala/ParallelRangeCheck.scala +++ b/scalacheck/src/test/scala/ParallelRangeCheck.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/scalacheck/src/test/scala/ParallelSeqCheck.scala b/scalacheck/src/test/scala/ParallelSeqCheck.scala index 008fce3e..66d43413 100644 --- a/scalacheck/src/test/scala/ParallelSeqCheck.scala +++ b/scalacheck/src/test/scala/ParallelSeqCheck.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/scalacheck/src/test/scala/ParallelSetCheck.scala b/scalacheck/src/test/scala/ParallelSetCheck.scala index 15f41147..e212dcd5 100644 --- a/scalacheck/src/test/scala/ParallelSetCheck.scala +++ b/scalacheck/src/test/scala/ParallelSetCheck.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/scalacheck/src/test/scala/ParallelVectorCheck.scala b/scalacheck/src/test/scala/ParallelVectorCheck.scala index 49feac28..d0ba4030 100644 --- a/scalacheck/src/test/scala/ParallelVectorCheck.scala +++ b/scalacheck/src/test/scala/ParallelVectorCheck.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/scalacheck/src/test/scala/pc.scala b/scalacheck/src/test/scala/pc.scala index e1fffe86..0ec51118 100644 --- a/scalacheck/src/test/scala/pc.scala +++ b/scalacheck/src/test/scala/pc.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0). diff --git a/testmacros/src/main/scala-2/testutil/ShouldNotTypecheck.scala b/testmacros/src/main/scala-2/testutil/ShouldNotTypecheck.scala index 6c6ff095..1b9eba82 100644 --- a/testmacros/src/main/scala-2/testutil/ShouldNotTypecheck.scala +++ b/testmacros/src/main/scala-2/testutil/ShouldNotTypecheck.scala @@ -1,7 +1,7 @@ /* * Scala (https://www.scala-lang.org) * - * Copyright EPFL and Lightbend, Inc. + * Copyright EPFL and Lightbend, Inc. dba Akka * * Licensed under Apache License 2.0 * (http://www.apache.org/licenses/LICENSE-2.0).