This is an automated email from the ASF dual-hosted git repository. He-Pin pushed a commit to branch add-future-lazy-vals in repository https://gitbox.apache.org/repos/asf/pekko-persistence-cassandra.git
commit 04076f9ff79619c38e7d536c80149d1e918d6b14 Author: 虎鸣 <[email protected]> AuthorDate: Sun Jun 14 18:25:49 2026 +0800 feat: Add -Yfuture-lazy-vals for Scala 3.3.x builds Motivation: The Scala 3.3.8 compiler introduced the -Yfuture-lazy-vals flag to optionally use VarHandle instead of sun.misc.Unsafe for lazy val implementation. This prepares libraries for upcoming JDK releases that restrict sun.misc.Unsafe access. Modification: Add -Yfuture-lazy-vals to scalacOptions, conditionally applied only for Scala 3.3.x via CrossVersion.partialVersion or scalaBinaryVersion. Result: Scala 3.3.x build uses the future-proof VarHandle-based lazy val implementation, compatible with all JDK 9+ versions including future releases that restrict sun.misc.Unsafe. References: Refs scala/scala3-lts#637 Refs apache/pekko#3059 --- project/Common.scala | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/project/Common.scala b/project/Common.scala index fc77d33..d1e29bc 100644 --- a/project/Common.scala +++ b/project/Common.scala @@ -44,6 +44,10 @@ object Common extends AutoPlugin { crossScalaVersions := Dependencies.scalaVersions, scalaVersion := Dependencies.scala213Version, scalacOptions ++= Seq("-encoding", "UTF-8", "-feature", "-unchecked", "-Xlint", "-Ywarn-dead-code", "-deprecation"), + scalacOptions ++= { + if (scalaBinaryVersion.value == "3") Seq("-Yfuture-lazy-vals") + else Seq.empty + }, Compile / console / scalacOptions --= Seq("-deprecation", "-Xfatal-warnings", "-Xlint", "-Ywarn-unused:imports"), Compile / doc / scalacOptions := scalacOptions.value ++ Seq( "-doc-title", --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
