diff --git a/.scalafmt.conf b/.scalafmt.conf index 3f110b2..28f12e8 100644 --- a/.scalafmt.conf +++ b/.scalafmt.conf @@ -11,6 +11,11 @@ align.tokens = [{code = "="}, {code = "<-"}, {code = ":="}, {code = "->"}, {code continuationIndent.callSite = 2 continuationIndent.defnSite = 2 optIn.breakChainOnFirstMethodDot = true +rewrite.rules = [SortModifiers] +rewrite.sortModifiers.order = [ + "implicit", "final", "sealed", "abstract", + "override", "private", "protected", "lazy" +] spaces { inImportCurlyBraces = true diff --git a/build.sbt b/build.sbt index 145bbc4..5150231 100644 --- a/build.sbt +++ b/build.sbt @@ -1,4 +1,4 @@ -ThisBuild / baseVersion := "0.9.3" +ThisBuild / baseVersion := "0.9.4" ThisBuild / organization := "ai.entrolution" ThisBuild / organizationName := "Greg von Nessi" diff --git a/src/main/scala/bengal/stm/STM.scala b/src/main/scala/bengal/stm/STM.scala index db6092a..9fb3132 100644 --- a/src/main/scala/bengal/stm/STM.scala +++ b/src/main/scala/bengal/stm/STM.scala @@ -20,7 +20,7 @@ package bengal.stm import bengal.stm.api.internal.TxnApiContext import bengal.stm.model._ import bengal.stm.model.runtime._ -import bengal.stm.runtime.{TxnCompilerContext, TxnLogContext, TxnRuntimeContext} +import bengal.stm.runtime.{ TxnCompilerContext, TxnLogContext, TxnRuntimeContext } import cats.effect.Ref import cats.effect.kernel.Async @@ -103,16 +103,14 @@ object STM { val txnRuntime: TxnRuntime = new TxnRuntime { override val scheduler: TxnScheduler = - TxnScheduler(graphBuilderSemaphore = graphBuilderSemaphore, - retrySemaphore = retrySemaphore - ) + TxnScheduler(graphBuilderSemaphore = graphBuilderSemaphore, retrySemaphore = retrySemaphore) } override def allocateTxnVar[V](value: V): F[TxnVar[F, V]] = TxnVar.of(value)(this, this.asyncF) override def allocateTxnVarMap[K, V]( - valueMap: Map[K, V] + valueMap: Map[K, V] ): F[TxnVarMap[F, K, V]] = TxnVarMap.of(valueMap)(this, this.asyncF) diff --git a/src/main/scala/bengal/stm/model/AsyncImplicits.scala b/src/main/scala/bengal/stm/model/AsyncImplicits.scala index ec65466..487ef8c 100644 --- a/src/main/scala/bengal/stm/model/AsyncImplicits.scala +++ b/src/main/scala/bengal/stm/model/AsyncImplicits.scala @@ -19,6 +19,6 @@ package bengal.stm.model import cats.effect.kernel.Async -private[stm] abstract class AsyncImplicits[F[_]]( - protected implicit val asyncF: Async[F] +abstract private[stm] class AsyncImplicits[F[_]](implicit + protected val asyncF: Async[F] ) diff --git a/src/main/scala/bengal/stm/model/TxnErratum.scala b/src/main/scala/bengal/stm/model/TxnErratum.scala index d6b8385..b7df407 100644 --- a/src/main/scala/bengal/stm/model/TxnErratum.scala +++ b/src/main/scala/bengal/stm/model/TxnErratum.scala @@ -17,7 +17,7 @@ package ai.entrolution package bengal.stm.model -private[stm] sealed trait TxnErratum +sealed private[stm] trait TxnErratum object TxnErratum { private[stm] case object TxnRetry extends TxnErratum diff --git a/src/main/scala/bengal/stm/model/TxnStateEntity.scala b/src/main/scala/bengal/stm/model/TxnStateEntity.scala index 8d8f639..01975d4 100644 --- a/src/main/scala/bengal/stm/model/TxnStateEntity.scala +++ b/src/main/scala/bengal/stm/model/TxnStateEntity.scala @@ -33,7 +33,7 @@ private[stm] trait TxnStateEntity[F[_], V] { // Note: We run this through a deterministic UUID mapping // to mitigate the chance of increment-based IDs colliding // with bare hash codes - private[stm] final lazy val runtimeId: TxnVarRuntimeId = + final private[stm] lazy val runtimeId: TxnVarRuntimeId = TxnVarRuntimeId(UUID.nameUUIDFromBytes(id.toString.getBytes).hashCode()) protected def value: Ref[F, V] private[stm] def commitLock: Semaphore[F] diff --git a/src/main/scala/bengal/stm/runtime/TxnLogContext.scala b/src/main/scala/bengal/stm/runtime/TxnLogContext.scala index 638d3ef..d164dcc 100644 --- a/src/main/scala/bengal/stm/runtime/TxnLogContext.scala +++ b/src/main/scala/bengal/stm/runtime/TxnLogContext.scala @@ -31,7 +31,7 @@ import scala.annotation.nowarn private[stm] trait TxnLogContext[F[_]] { this: AsyncImplicits[F] => - private[stm] sealed trait TxnLogEntry[V] { + sealed private[stm] trait TxnLogEntry[V] { private[stm] def get: V private[stm] def set(value: V): TxnLogEntry[V] private[stm] def commit: F[Unit] @@ -287,7 +287,7 @@ private[stm] trait TxnLogContext[F[_]] { } } - private[stm] sealed trait TxnLog { self => + sealed private[stm] trait TxnLog { self => private[stm] def getVar[V](txnVar: TxnVar[F, V]): F[(TxnLog, V)] diff --git a/src/main/scala/bengal/stm/runtime/TxnRuntimeContext.scala b/src/main/scala/bengal/stm/runtime/TxnRuntimeContext.scala index 7d19e35..8a70573 100644 --- a/src/main/scala/bengal/stm/runtime/TxnRuntimeContext.scala +++ b/src/main/scala/bengal/stm/runtime/TxnRuntimeContext.scala @@ -34,7 +34,7 @@ private[stm] trait TxnRuntimeContext[F[_]] { private[stm] val txnIdGen: Ref[F, TxnId] private[stm] val txnVarIdGen: Ref[F, TxnVarId] - private[stm] sealed trait TxnResult + sealed private[stm] trait TxnResult private[stm] case class TxnResultSuccess[V](result: V) extends TxnResult private[stm] case object TxnResultRetry extends TxnResult