diff --git a/community-build/community-projects/scala-collection-compat b/community-build/community-projects/scala-collection-compat index c9d3a8b160a3..0171d0722da5 160000 --- a/community-build/community-projects/scala-collection-compat +++ b/community-build/community-projects/scala-collection-compat @@ -1 +1 @@ -Subproject commit c9d3a8b160a35c9915816dd84a1063e18db4a84a +Subproject commit 0171d0722da5a958341b09ac9bdcc75220872639 diff --git a/community-build/community-projects/stdLib213 b/community-build/community-projects/stdLib213 index 3f6bdaeafde1..05169c7524a8 160000 --- a/community-build/community-projects/stdLib213 +++ b/community-build/community-projects/stdLib213 @@ -1 +1 @@ -Subproject commit 3f6bdaeafde17d790023cc3f299b81eaaf876ca3 +Subproject commit 05169c7524a8b3fab70bd8e794248edd6106149c diff --git a/compiler/src/dotty/tools/dotc/transform/init/Objects.scala b/compiler/src/dotty/tools/dotc/transform/init/Objects.scala index 92262d528487..7a637306ab0c 100644 --- a/compiler/src/dotty/tools/dotc/transform/init/Objects.scala +++ b/compiler/src/dotty/tools/dotc/transform/init/Objects.scala @@ -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 ----------------------------- diff --git a/presentation-compiler/test/dotty/tools/pc/tests/completion/CompletionKeywordSuite.scala b/presentation-compiler/test/dotty/tools/pc/tests/completion/CompletionKeywordSuite.scala index 5db0cf96d9ef..7eab6a291a26 100644 --- a/presentation-compiler/test/dotty/tools/pc/tests/completion/CompletionKeywordSuite.scala +++ b/presentation-compiler/test/dotty/tools/pc/tests/completion/CompletionKeywordSuite.scala @@ -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 ) @@ -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 ) @@ -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 ) @@ -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 ) @@ -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 ) @@ -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 ) diff --git a/project/Build.scala b/project/Build.scala index 6daa13933306..1402dc981a6e 100644 --- a/project/Build.scala +++ b/project/Build.scala @@ -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. @@ -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" @@ -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 @@ -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 diff --git a/project/Scala2LibraryBootstrappedMiMaFilters.scala b/project/Scala2LibraryBootstrappedMiMaFilters.scala index dd0a885731b2..dfce5ef3f591 100644 --- a/project/Scala2LibraryBootstrappedMiMaFilters.scala +++ b/project/Scala2LibraryBootstrappedMiMaFilters.scala @@ -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", diff --git a/project/TastyMiMaFilters.scala b/project/TastyMiMaFilters.scala index 85a9b98b7d87..97d77bf559c8 100644 --- a/project/TastyMiMaFilters.scala +++ b/project/TastyMiMaFilters.scala @@ -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"), ) }