This is an automated email from the ASF dual-hosted git repository.
He-Pin pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pekko-projection.git
The following commit(s) were added to refs/heads/main by this push:
new 01e9e5ea fix: Scala 3.8+ forward compatibility (#523)
01e9e5ea is described below
commit 01e9e5ea3e79993eada93e6a2d5e24415fc52866
Author: He-Pin(kerr) <[email protected]>
AuthorDate: Mon Jun 15 10:50:29 2026 +0800
fix: Scala 3.8+ forward compatibility (#523)
Motivation:
Prepare for Scala 3.8/3.9 adoption by fixing deprecation warnings
that appear with newer Scala compilers while maintaining compatibility
with current Scala 3.3.x and 2.13.x.
Modification:
- Replace `= _` with explicit `= null` in var declarations (deprecated in
3.8)
- Replace `private[this]` with `private` (deprecated in 3.8)
- Add -Wconf suppressions for cross-version incompatible warnings:
context bounds, wildcard types, eta-expansion, with operator,
unreachable null cases, vararg splices, infix types,
-Xfatal-warnings deprecation, generated code private[this],
trait App deprecation, and -Yfuture-lazy-vals bad option
Result:
Clean compilation on Scala 3.8.4 with zero warnings.
No Scala version changes in production build.
---
.../apache/pekko/projection/javadsl/StatefulHandler.scala | 2 +-
.../pekko/projection/scaladsl/StatefulHandler.scala | 2 +-
.../pekko/projection/grpc/internal/FilterStage.scala | 2 +-
project/PekkoDisciplinePlugin.scala | 15 ++++++++++++++-
.../pekko/projection/r2dbc/R2dbcProjectionSettings.scala | 2 +-
5 files changed, 18 insertions(+), 5 deletions(-)
diff --git
a/core/src/main/scala/org/apache/pekko/projection/javadsl/StatefulHandler.scala
b/core/src/main/scala/org/apache/pekko/projection/javadsl/StatefulHandler.scala
index 8b18e3a7..d7475068 100644
---
a/core/src/main/scala/org/apache/pekko/projection/javadsl/StatefulHandler.scala
+++
b/core/src/main/scala/org/apache/pekko/projection/javadsl/StatefulHandler.scala
@@ -21,7 +21,7 @@ import pekko.annotation.ApiMayChange
@ApiMayChange abstract class StatefulHandler[State, Envelope] extends
Handler[Envelope] {
- private var state: CompletionStage[State] = _
+ private var state: CompletionStage[State] = null
/**
* Invoked to load the initial state when the projection is started or if
previous `process` failed.
diff --git
a/core/src/main/scala/org/apache/pekko/projection/scaladsl/StatefulHandler.scala
b/core/src/main/scala/org/apache/pekko/projection/scaladsl/StatefulHandler.scala
index 66f297ed..ecdb0550 100644
---
a/core/src/main/scala/org/apache/pekko/projection/scaladsl/StatefulHandler.scala
+++
b/core/src/main/scala/org/apache/pekko/projection/scaladsl/StatefulHandler.scala
@@ -24,7 +24,7 @@ import pekko.annotation.ApiMayChange
@ApiMayChange abstract class StatefulHandler[State, Envelope](implicit ec:
ExecutionContext) extends Handler[Envelope] {
- private var state: Future[State] = _
+ private var state: Future[State] = null
/**
* Invoked to load the initial state when the projection is started or if
previous `process` failed.
diff --git
a/grpc/src/main/scala/org/apache/pekko/projection/grpc/internal/FilterStage.scala
b/grpc/src/main/scala/org/apache/pekko/projection/grpc/internal/FilterStage.scala
index 75707668..c6640c58 100644
---
a/grpc/src/main/scala/org/apache/pekko/projection/grpc/internal/FilterStage.scala
+++
b/grpc/src/main/scala/org/apache/pekko/projection/grpc/internal/FilterStage.scala
@@ -161,7 +161,7 @@ import org.slf4j.LoggerFactory
override def createLogic(inheritedAttributes: Attributes): GraphStageLogic =
new GraphStageLogic(shape) {
- private var persistence: Persistence = _
+ private var persistence: Persistence = null
// only one pull replay stream -> async callback at a time
private var replayHasBeenPulled = false
diff --git a/project/PekkoDisciplinePlugin.scala
b/project/PekkoDisciplinePlugin.scala
index 5a650b53..e9bb72bd 100644
--- a/project/PekkoDisciplinePlugin.scala
+++ b/project/PekkoDisciplinePlugin.scala
@@ -45,7 +45,20 @@ object PekkoDisciplinePlugin extends AutoPlugin {
// scala/bug#7014 is a false positive compiler warning
affecting r2dbc-spi jar loading
"-Wconf:msg=scala/bug#7014:s")
case Some((3, _)) =>
- Set("-Yfuture-lazy-vals", "-release:17")
+ Set(
+ "-Yfuture-lazy-vals",
+ "-release:17",
+ "-Wconf:msg=Implicit parameters should be provided with a
`using` clause:s",
+ "-Wconf:msg=is deprecated for wildcard arguments of types:s",
+ "-Wconf:msg=The trailing ` _` for eta-expansion is
unnecessary:s",
+ "-Wconf:msg=with as a type operator has been deprecated:s",
+ "-Wconf:msg=Unreachable case except for null:s",
+ "-Wconf:msg=is no longer supported for vararg splices:s",
+ "-Wconf:msg=is not declared infix:s",
+ "-Wconf:msg=Xfatal-warnings is a deprecated alias:s",
+ "-Wconf:msg=Ignoring \\[this\\] qualifier:s",
+ "-Wconf:msg=trait App in package scala is deprecated:s",
+ "-Wconf:msg=bad option.*-Yfuture-lazy-vals:s")
case _ =>
Nil
}).toSeq,
diff --git
a/r2dbc/src/main/scala/org/apache/pekko/projection/r2dbc/R2dbcProjectionSettings.scala
b/r2dbc/src/main/scala/org/apache/pekko/projection/r2dbc/R2dbcProjectionSettings.scala
index 1a7a35a5..8a3794b5 100644
---
a/r2dbc/src/main/scala/org/apache/pekko/projection/r2dbc/R2dbcProjectionSettings.scala
+++
b/r2dbc/src/main/scala/org/apache/pekko/projection/r2dbc/R2dbcProjectionSettings.scala
@@ -162,7 +162,7 @@ final class R2dbcProjectionSettings private (
MurmurHash3.finalizeHash(h, values.size)
}
- private[this] def copy(
+ private def copy(
dialect: Dialect = dialect,
schema: Option[String] = schema,
offsetTable: String = offsetTable,
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]