You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pekko.apache.org by he...@apache.org on 2026/06/14 10:26:30 UTC
(pekko-persistence-jdbc) 01/01: feat: Add -Yfuture-lazy-vals for Scala 3.3.x builds
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-jdbc.git
commit a163c1cadd275054d70e07cadf87da8930d5b9ce
Author: 虎鸣 <he...@alibaba-inc.com>
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/ProjectAutoPlugin.scala | 2 ++
1 file changed, 2 insertions(+)
diff --git a/project/ProjectAutoPlugin.scala b/project/ProjectAutoPlugin.scala
index f81cf5fb..dc530b9f 100644
--- a/project/ProjectAutoPlugin.scala
+++ b/project/ProjectAutoPlugin.scala
@@ -54,6 +54,8 @@ object ProjectAutoPlugin extends AutoPlugin {
(CrossVersion.partialVersion(scalaVersion.value) match {
case Some((2, _)) =>
disciplineScalacOptions
+ case Some((3, _)) =>
+ Set("-Yfuture-lazy-vals")
case _ =>
Nil
}).toSeq,
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pekko.apache.org
For additional commands, e-mail: commits-help@pekko.apache.org