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-persistence-dynamodb.git
The following commit(s) were added to refs/heads/main by this push:
new 6db6b9f feat: improve Scala 3.8 forward compatibility (#313)
6db6b9f is described below
commit 6db6b9fc2db840ab59539173b5dafa30f652d086
Author: He-Pin(kerr) <[email protected]>
AuthorDate: Mon Jun 15 02:05:56 2026 +0800
feat: improve Scala 3.8 forward compatibility (#313)
Motivation:
Scala 3.8 introduces new warnings and deprecations that will become
errors in future versions. Preparing the codebase for smooth upgrades.
Modification:
- Replace `= _` with `= null` in 3 locations (deprecated in 3.8)
- Add -Wconf suppressions for warnings requiring Scala 3-only syntax
Result:
Zero new warnings when compiled with Scala 3.8.4, while maintaining
full cross-compilation with Scala 2.13 and 3.3.x.
---
build.sbt | 12 +++++++++++-
.../pekko/persistence/dynamodb/journal/DynamoDBHelper.scala | 2 +-
.../dynamodb/journal/DynamoDBIntegrationLoadSpec.scala | 2 +-
.../persistence/dynamodb/snapshot/SnapshotTooBigSpec.scala | 2 +-
4 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/build.sbt b/build.sbt
index a755725..12fdb38 100644
--- a/build.sbt
+++ b/build.sbt
@@ -58,7 +58,17 @@ lazy val root = Project(
"com.dimafeng" %% "testcontainers-scala-scalatest" %
testcontainersScalaVersion % Test),
scalacOptions ++= Seq("-deprecation", "-feature"),
scalacOptions ++= {
- if (scalaBinaryVersion.value == "3") Seq("-Yfuture-lazy-vals",
"-release:17")
+ if (scalaBinaryVersion.value == "3")
+ Seq(
+ "-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=bad option.*-Yfuture-lazy-vals:s")
else Seq.empty
},
Test / parallelExecution := false,
diff --git
a/src/main/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBHelper.scala
b/src/main/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBHelper.scala
index 6915d85..7044836 100644
---
a/src/main/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBHelper.scala
+++
b/src/main/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBHelper.scala
@@ -74,7 +74,7 @@ trait DynamoDBHelper {
def shutdown(): Unit = dynamoDB.shutdown()
- private var reporter: ActorRef = _
+ private var reporter: ActorRef = null
def setReporter(ref: ActorRef): Unit = reporter = ref
private def send[In <: AmazonWebServiceRequest, Out](aws: In, func:
AsyncHandler[In, Out] => juc.Future[Out])(implicit
diff --git
a/src/test/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBIntegrationLoadSpec.scala
b/src/test/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBIntegrationLoadSpec.scala
index 4339f9b..4766269 100644
---
a/src/test/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBIntegrationLoadSpec.scala
+++
b/src/test/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBIntegrationLoadSpec.scala
@@ -84,7 +84,7 @@ pekko.persistence.snapshot-store.plugin = ""
}
class ProcessorC(val persistenceId: String, probe: ActorRef) extends
PersistentActor {
- var last: String = _
+ var last: String = null
def receiveRecover: Receive = {
case SnapshotOffer(_, snapshot: String) =>
diff --git
a/src/test/scala/org/apache/pekko/persistence/dynamodb/snapshot/SnapshotTooBigSpec.scala
b/src/test/scala/org/apache/pekko/persistence/dynamodb/snapshot/SnapshotTooBigSpec.scala
index 3409718..df17f9b 100644
---
a/src/test/scala/org/apache/pekko/persistence/dynamodb/snapshot/SnapshotTooBigSpec.scala
+++
b/src/test/scala/org/apache/pekko/persistence/dynamodb/snapshot/SnapshotTooBigSpec.scala
@@ -50,7 +50,7 @@ class SnapshotTooBigSpec extends
TestKit(ActorSystem("SnapshotTooBigSpec"))
client.shutdown()
}
- private var senderProbe: TestProbe = _
+ private var senderProbe: TestProbe = null
val persistenceId = "SnapshotTooBigSpec"
val snapshotStore = Persistence(system).snapshotStoreFor("")
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]