Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion community-build/community-projects/scala-collection-compat
Submodule scala-collection-compat updated 83 files
+3 −0 .git-blame-ignore-revs
+6 −0 .github/dependabot.yml
+14 −23 .github/workflows/ci.yml
+11 −0 .github/workflows/cla.yml
+6 −3 .github/workflows/release.yml
+1 −1 .scalafmt.conf
+3 −3 NOTICE
+10 −10 README.md
+1 −1 binary-compat/new/src/main/scala/org.example/Lib.scala
+1 −1 binary-compat/old/src/main/scala/org.example/Lib.scala
+1 −1 binary-compat/test/src/test/scala/BinaryCompaTest.scala
+22 −5 build.sbt
+1 −1 compat/jsNative/src/main/scala-2.11_2.12/scala/jdk/OptionConverters.scala
+1 −1 compat/jvm/src/main/scala-2.11_2.12/scala/jdk/OptionConverters.scala
+1 −1 compat/jvm/src/main/scala-2.11_2.12/scala/jdk/OptionShape.scala
+1 −1 compat/src/main/scala-2.11/scala/annotation/nowarn.scala
+1 −1 compat/src/main/scala-2.11/scala/collection/compat/package.scala
+1 −1 compat/src/main/scala-2.11/scala/jdk/javaapi/CollectionConverters.scala
+269 −237 compat/src/main/scala-2.11/scala/util/Using.scala
+1 −1 compat/src/main/scala-2.11_2.12/scala/annotation/unused.scala
+1 −1 compat/src/main/scala-2.11_2.12/scala/collection/compat/BuildFrom.scala
+1 −1 compat/src/main/scala-2.11_2.12/scala/collection/compat/CompatImpl.scala
+2 −2 compat/src/main/scala-2.11_2.12/scala/collection/compat/PackageShared.scala
+1 −1 compat/src/main/scala-2.11_2.12/scala/collection/compat/RandomExtensions.scala
+1 −1 compat/src/main/scala-2.11_2.12/scala/collection/compat/StringParsers.scala
+1 −1 compat/src/main/scala-2.11_2.12/scala/collection/compat/immutable/ArraySeq.scala
+1 −1 compat/src/main/scala-2.11_2.12/scala/collection/compat/immutable/LazyList.scala
+1 −1 compat/src/main/scala-2.11_2.12/scala/jdk/CollectionConverters.scala
+1 −1 compat/src/main/scala-2.11_2.12/scala/util/ChainingOps.scala
+1 −1 compat/src/main/scala-2.11_2.12/scala/util/control/compat/ControlThrowable.scala
+1 −1 compat/src/main/scala-2.11_2.12/scala/util/matching/compat/package.scala
+1 −1 compat/src/main/scala-2.12/scala/collection/compat/package.scala
+1 −1 compat/src/main/scala-2.12/scala/jdk/javaapi/CollectionConverters.scala
+269 −237 compat/src/main/scala-2.12/scala/util/Using.scala
+1 −1 compat/src/main/scala-2.13/scala/collection/compat/immutable/package.scala
+1 −1 compat/src/main/scala-2.13/scala/collection/compat/package.scala
+1 −1 compat/src/main/scala-2.13/scala/util/control/compat/package.scala
+1 −1 compat/src/main/scala-2.13/scala/util/matching/compat/package.scala
+12 −0 compat/src/test/scala-2.11_2.12/test/scala/collection/ToConserveTest.scala
+12 −0 compat/src/test/scala-js/test/scala/jdk/OptionConvertersTest.scala
+1 −1 compat/src/test/scala-jvm/test/scala/collection/LazyListGCTest.scala
+12 −0 compat/src/test/scala-jvm/test/scala/collection/StringParsersJVMTest.scala
+12 −0 compat/src/test/scala-jvm/test/scala/jdk/OptionConvertersJVMTest.scala
+12 −0 compat/src/test/scala-jvm/test/scala/jdk/javaapi/CollectionConvertersTest.java
+12 −0 compat/src/test/scala-jvm/test/scala/jdk/javaapi/TestObjects.scala
+169 −218 compat/src/test/scala-jvm/test/scala/util/UsingTest.scala
+1 −1 compat/src/test/scala/scala/jdk/CollectionConvertersTest.scala
+1 −1 compat/src/test/scala/scala/util/ChainingOpsTest.scala
+1 −1 compat/src/test/scala/scala/util/control/compat/ControlThrowableTest.scala
+1 −1 compat/src/test/scala/scala/util/matching/compat/RegexOpsTest.scala
+1 −1 compat/src/test/scala/test/scala/collection/ArraySeqTest.scala
+1 −1 compat/src/test/scala/test/scala/collection/AssertThrown.scala
+1 −1 compat/src/test/scala/test/scala/collection/BuildFromTest.scala
+1 −1 compat/src/test/scala/test/scala/collection/CollectionTest.scala
+1 −1 compat/src/test/scala/test/scala/collection/FactoryTest.scala
+1 −1 compat/src/test/scala/test/scala/collection/LazyListLazinessTest.scala
+1 −1 compat/src/test/scala/test/scala/collection/LazyListTest.scala
+1 −1 compat/src/test/scala/test/scala/collection/LazyZipTest.scala
+1 −1 compat/src/test/scala/test/scala/collection/MapTest.scala
+1 −1 compat/src/test/scala/test/scala/collection/MinMaxOptionTest.scala
+1 −1 compat/src/test/scala/test/scala/collection/NoImportTest.scala
+1 −1 compat/src/test/scala/test/scala/collection/OptionTest.scala
+1 −1 compat/src/test/scala/test/scala/collection/QueueTest.scala
+1 −1 compat/src/test/scala/test/scala/collection/SortedTest.scala
+1 −1 compat/src/test/scala/test/scala/collection/StreamTest.scala
+12 −0 compat/src/test/scala/test/scala/collection/StringParsersTest.scala
+1 −1 compat/src/test/scala/test/scala/collection/ViewTest.scala
+1 −1 compat/src/test/scala/test/scala/util/RandomTest.scala
+1 −1 project/build.properties
+7 −4 project/plugins.sbt
+1 −1 scalafix/data/src/main/scala/fix/conversions/JavaConversionsDataSrc.scala
+1 −1 scalafix/output213-failure/src/main/scala/fix/CanBuildFromNegSrc213Failure.scala
+1 −1 scalafix/rules/src/main/scala/scala/fix/collection/Breakout.scala
+1 −1 scalafix/rules/src/main/scala/scala/fix/collection/CanBuildFrom.scala
+1 −1 scalafix/rules/src/main/scala/scala/fix/collection/Collection213CrossCompat.scala
+1 −1 scalafix/rules/src/main/scala/scala/fix/collection/Collection213Experimental.scala
+1 −1 scalafix/rules/src/main/scala/scala/fix/collection/Collection213Roughly.scala
+1 −1 scalafix/rules/src/main/scala/scala/fix/collection/Collection213Upgrade.scala
+1 −1 scalafix/rules/src/main/scala/scala/fix/collection/PlaygroundRule.scala
+1 −1 scalafix/rules/src/main/scala/scala/fix/collection/Stable212Base.scala
+1 −1 scalafix/rules/src/main/scala/scala/fix/collection/TypeMatcher.scala
+1 −1 scalafix/rules/src/main/scala/scala/fix/collection/package.scala
+1 −1 scalafix/tests/src/test/scala/fix/ScalafixTests.scala
2 changes: 1 addition & 1 deletion community-build/community-projects/stdLib213
Submodule stdLib213 updated 473 files
5 changes: 1 addition & 4 deletions compiler/src/dotty/tools/dotc/transform/init/Objects.scala
Original file line number Diff line number Diff line change
Expand Up @@ -74,10 +74,7 @@ class Objects(using Context @constructorOnly):
val MapNode_EmptyMapNode: Symbol = immutableMapNode.requiredValue("EmptyMapNode")
val immutableHashMap: Symbol = requiredModule("scala.collection.immutable.HashMap")
val HashMap_EmptyMap: Symbol = immutableHashMap.requiredValue("EmptyMap")
val immutableLazyList: Symbol = requiredModule("scala.collection.immutable.LazyList")
val LazyList_empty: Symbol = immutableLazyList.requiredValue("_empty")

val allowList: Set[Symbol] = Set(SetNode_EmptySetNode, HashSet_EmptySet, Vector_EmptyIterator, MapNode_EmptyMapNode, HashMap_EmptyMap, LazyList_empty)
val allowList: Set[Symbol] = Set(SetNode_EmptySetNode, HashSet_EmptySet, Vector_EmptyIterator, MapNode_EmptyMapNode, HashMap_EmptyMap)

// ----------------------------- abstract domain -----------------------------

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ class CompletionKeywordSuite extends BaseCompletionSuite:
|""".stripMargin,
"""|superVisorStrategy: Int (commit: '')
|super (commit: '')
|superArg(p: String, v: Any): superArg - scala.annotation.meta (commit: '')
|superFwdArg(p: String, n: String): superFwdArg - scala.annotation.meta (commit: '')
|""".stripMargin,
includeCommitCharacter = true
)
Expand Down Expand Up @@ -78,6 +80,8 @@ class CompletionKeywordSuite extends BaseCompletionSuite:
|""".stripMargin,
"""|superVisorStrategy: Int
|super
|superArg(p: String, v: Any): superArg - scala.annotation.meta
|superFwdArg(p: String, n: String): superFwdArg - scala.annotation.meta
|""".stripMargin
)

Expand All @@ -98,6 +102,8 @@ class CompletionKeywordSuite extends BaseCompletionSuite:
|""".stripMargin,
"""|superVisorStrategy: Int
|super
|superArg(p: String, v: Any): superArg - scala.annotation.meta
|superFwdArg(p: String, n: String): superFwdArg - scala.annotation.meta
|""".stripMargin
)

Expand All @@ -118,6 +124,8 @@ class CompletionKeywordSuite extends BaseCompletionSuite:
|""".stripMargin,
"""|superVisorStrategy: Int
|super
|superArg(p: String, v: Any): superArg - scala.annotation.meta
|superFwdArg(p: String, n: String): superFwdArg - scala.annotation.meta
|""".stripMargin
)

Expand All @@ -135,6 +143,8 @@ class CompletionKeywordSuite extends BaseCompletionSuite:
|}
|""".stripMargin,
"""|super
|superArg(p: String, v: Any): superArg - scala.annotation.meta
|superFwdArg(p: String, n: String): superFwdArg - scala.annotation.meta
|""".stripMargin
)

Expand Down Expand Up @@ -392,6 +402,8 @@ class CompletionKeywordSuite extends BaseCompletionSuite:
""".stripMargin,
"""|supervisorStrategy: Int
|super
|superArg(p: String, v: Any): superArg - scala.annotation.meta
|superFwdArg(p: String, n: String): superFwdArg - scala.annotation.meta
|""".stripMargin
)

Expand Down
12 changes: 7 additions & 5 deletions project/Build.scala
Original file line number Diff line number Diff line change
Expand Up @@ -161,8 +161,8 @@ object Build {
* scala-library.
*/
def stdlibVersion(implicit mode: Mode): String = mode match {
case NonBootstrapped => "2.13.16"
case Bootstrapped => "2.13.16"
case NonBootstrapped => "2.13.17"
case Bootstrapped => "2.13.17"
}

/** Version of the scala-library for which we will generate TASTy.
Expand All @@ -172,7 +172,7 @@ object Build {
* We can use nightly versions to tests the future compatibility in development.
* Nightly versions: https://scala-ci.typesafe.com/ui/native/scala-integration/org/scala-lang
*/
val stdlibBootstrappedVersion = "2.13.16"
val stdlibBootstrappedVersion = "2.13.17"

val dottyOrganization = "org.scala-lang"
val dottyGithubUrl = "https://github.com/scala/scala3"
Expand Down Expand Up @@ -2597,7 +2597,7 @@ object Build {
.exclude("org.eclipse.lsp4j","org.eclipse.lsp4j.jsonrpc"),
"org.eclipse.lsp4j" % "org.eclipse.lsp4j" % "0.20.1",
),
libraryDependencies += ("org.scalameta" % "mtags-shared_2.13.16" % mtagsVersion % SourceDeps),
libraryDependencies += ("org.scalameta" % "mtags-shared_2.13.17" % mtagsVersion % SourceDeps),
ivyConfigurations += SourceDeps.hide,
transitiveClassifiers := Seq("sources"),
scalacOptions ++= Seq("-source", "3.3"), // To avoid fatal migration warnings
Expand Down Expand Up @@ -3174,7 +3174,9 @@ object Build {
"-Dplugin.version=" + version.value,
"-Dplugin.scalaVersion=" + dottyVersion,
"-Dplugin.scala2Version=" + stdlibVersion(Bootstrapped),
"-Dplugin.scalaJSVersion=" + scalaJSVersion,
// Required for 3.7 because Scala.js scalalib is not published for 2.13.17+1.19.0
// Normally it should be set to `scalaJSVersion`
"-Dplugin.scalaJSVersion=1.20.1",
"-Dsbt.boot.directory=" + ((ThisBuild / baseDirectory).value / ".sbt-scripted").getAbsolutePath // Workaround sbt/sbt#3469
),
// Pass along ivy home and repositories settings to sbt instances run from the tests
Expand Down
3 changes: 3 additions & 0 deletions project/Scala2LibraryBootstrappedMiMaFilters.scala
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,9 @@ object Scala2LibraryBootstrappedMiMaFilters {
"scala.collection.mutable.ArrayBuffer.resizeUp", // private[mutable] def
// New in 2.13.14
"scala.util.Properties.consoleIsTerminal", // private[scala] lazy val
// New in 2.13.17
"scala.concurrent.Future.timeoutError",
"scala.concurrent.Future.waitUndefinedError",
).map(ProblemFilters.exclude[DirectMissingMethodProblem]) ++
Seq( // MissingFieldProblem: static field ... in object ... does not have a correspondent in other version
"scala.Array.UnapplySeqWrapper",
Expand Down
3 changes: 3 additions & 0 deletions project/TastyMiMaFilters.scala
Original file line number Diff line number Diff line change
Expand Up @@ -89,5 +89,8 @@ object TastyMiMaFilters {
ProblemMatcher.make(ProblemKind.IncompatibleTypeChange, "scala.collection.BuildFromLowPriority1.buildFromSortedSetOps"), // The symbol scala.collection.BuildFromLowPriority1.buildFromSortedSetOps has an incompatible type in current version: before: [CC <: ([X] =>> (scala.collection.SortedSet[X] & scala.collection.SortedSetOps[X, CC, ?])), A0, A](evidence$3: scala.package.Ordering[A])scala.collection.BuildFrom[(CC[A0] & scala.collection.SortedSet[A0]), A, (CC[A] & scala.collection.SortedSet[A])]; after: [CC >: ([X] =>> scala.Nothing) <: ([X] =>> scala.&[scala.collection.SortedSet[X], scala.collection.SortedSetOps[X, CC, ?]]), A0, A](evidence$3: scala.package.Ordering[A])scala.collection.BuildFrom[scala.&[CC[A0], scala.collection.SortedSet[A0]], A, scala.&[CC[A], scala.collection.SortedSet[A]]]
ProblemMatcher.make(ProblemKind.IncompatibleTypeChange, "scala.collection.BuildFrom.buildFromMapOps"), // The symbol scala.collection.BuildFrom.buildFromMapOps has an incompatible type in current version: before: [CC <: ([X, Y] =>> (scala.collection.Map[X, Y] & scala.collection.MapOps[X, Y, CC, ?])), K0, V0, K, V]scala.collection.BuildFrom[(CC[K0, V0] & scala.collection.Map[K0, V0]), scala.Tuple2[K, V], (CC[K, V] & scala.collection.Map[K, V])]; after: [CC >: ([X, Y] =>> scala.Nothing) <: ([X, Y] =>> scala.&[scala.collection.Map[X, Y], scala.collection.MapOps[X, Y, CC, ?]]), K0, V0, K, V]scala.collection.BuildFrom[scala.&[CC[K0, V0], scala.collection.Map[K0, V0]], scala.Tuple2[K, V], scala.&[CC[K, V], scala.collection.Map[K, V]]]
ProblemMatcher.make(ProblemKind.IncompatibleTypeChange, "scala.collection.BuildFrom.buildFromSortedMapOps"), // The symbol scala.collection.BuildFrom.buildFromSortedMapOps has an incompatible type in current version: before: [CC <: ([X, Y] =>> (scala.collection.SortedMap[X, Y] & scala.collection.SortedMapOps[X, Y, CC, ?])), K0, V0, K, V](evidence$1: scala.package.Ordering[K])scala.collection.BuildFrom[(CC[K0, V0] & scala.collection.SortedMap[K0, V0]), scala.Tuple2[K, V], (CC[K, V] & scala.collection.SortedMap[K, V])]; after: [CC >: ([X, Y] =>> scala.Nothing) <: ([X, Y] =>> scala.&[scala.collection.SortedMap[X, Y], scala.collection.SortedMapOps[X, Y, CC, ?]]), K0, V0, K, V](evidence$1: scala.package.Ordering[K])scala.collection.BuildFrom[scala.&[CC[K0, V0], scala.collection.SortedMap[K0, V0]], scala.Tuple2[K, V], scala.&[CC[K, V], scala.collection.SortedMap[K, V]]]

// Scala 2.13.17
ProblemMatcher.make(ProblemKind.NewAbstractMember, "scala.collection.mutable.ArrayDequeOps.superscala$collection$mutable$ArrayDequeOps$$sliding"),
)
}
Loading