diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 573b8d54a..84712a69b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,7 +24,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - scala: [2.13.14] + scala: [2.13.15] java: [temurin@17, temurin@21] runs-on: ${{ matrix.os }} steps: @@ -85,7 +85,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - scala: [2.13.14] + scala: [2.13.15] java: [temurin@17] runs-on: ${{ matrix.os }} steps: diff --git a/analyzer/src/main/scala/com/avsystem/commons/analyzer/AnalyzerPlugin.scala b/analyzer/src/main/scala/com/avsystem/commons/analyzer/AnalyzerPlugin.scala index e91ef8d0c..eacfa6ef5 100644 --- a/analyzer/src/main/scala/com/avsystem/commons/analyzer/AnalyzerPlugin.scala +++ b/analyzer/src/main/scala/com/avsystem/commons/analyzer/AnalyzerPlugin.scala @@ -70,7 +70,7 @@ final class AnalyzerPlugin(val global: Global) extends Plugin { plugin => private object component extends PluginComponent { val global: plugin.global.type = plugin.global val runsAfter = List("typer") - override val runsBefore = List("patmat", "silencer") + override val runsBefore = List("patmat") val phaseName = "avsAnalyze" import global._ diff --git a/core/src/main/scala/com/avsystem/commons/SharedExtensions.scala b/core/src/main/scala/com/avsystem/commons/SharedExtensions.scala index 5c3bb37b4..a22d1056a 100644 --- a/core/src/main/scala/com/avsystem/commons/SharedExtensions.scala +++ b/core/src/main/scala/com/avsystem/commons/SharedExtensions.scala @@ -511,17 +511,17 @@ object SharedExtensionsUtils extends SharedExtensions { */ def unless(pre: PartialFunction[A, B]): PartialFunction[A, B] = pre orElse pf - def applyNOpt(a: A): NOpt[B] = pf.applyOrElse(a, NoValueMarkerFunc) match { + def applyNOpt(a: A): NOpt[B] = pf.applyOrElse[A, Any](a, NoValueMarkerFunc) match { case NoValueMarker => NOpt.Empty case rawValue => NOpt.some(rawValue.asInstanceOf[B]) } - def applyOpt(a: A): Opt[B] = pf.applyOrElse(a, NoValueMarkerFunc) match { + def applyOpt(a: A): Opt[B] = pf.applyOrElse[A, Any](a, NoValueMarkerFunc) match { case NoValueMarker => Opt.Empty case rawValue => Opt(rawValue.asInstanceOf[B]) } - def fold[C](a: A)(forEmpty: A => C, forNonEmpty: B => C): C = pf.applyOrElse(a, NoValueMarkerFunc) match { + def fold[C](a: A)(forEmpty: A => C, forNonEmpty: B => C): C = pf.applyOrElse[A, Any](a, NoValueMarkerFunc) match { case NoValueMarker => forEmpty(a) case rawValue => forNonEmpty(rawValue.asInstanceOf[B]) } diff --git a/core/src/test/scala/com/avsystem/commons/serialization/IgnoreTransientDefaultMarkerTest.scala b/core/src/test/scala/com/avsystem/commons/serialization/IgnoreTransientDefaultMarkerTest.scala index b2f6b9aef..ef88983e4 100644 --- a/core/src/test/scala/com/avsystem/commons/serialization/IgnoreTransientDefaultMarkerTest.scala +++ b/core/src/test/scala/com/avsystem/commons/serialization/IgnoreTransientDefaultMarkerTest.scala @@ -3,6 +3,8 @@ package serialization import com.avsystem.commons.serialization.CodecTestData.HasDefaults +import scala.annotation.nowarn + object IgnoreTransientDefaultMarkerTest { final case class NestedHasDefaults( @transientDefault flag: Boolean = false, @@ -19,6 +21,7 @@ object IgnoreTransientDefaultMarkerTest { object HasOptParam extends HasGenCodec[HasOptParam] } +@nowarn("msg=a type was inferred to be `Any`") class IgnoreTransientDefaultMarkerTest extends AbstractCodecTest { import IgnoreTransientDefaultMarkerTest.* diff --git a/project/Commons.scala b/project/Commons.scala index b0606d574..47265c798 100644 --- a/project/Commons.scala +++ b/project/Commons.scala @@ -69,7 +69,7 @@ object Commons extends ProjectGroup("commons") { Developer("ghik", "Roman Janusz", "r.janusz@avsystem.com", url("https://github.com/ghik")), ), - scalaVersion := "2.13.14", + scalaVersion := "2.13.15", compileOrder := CompileOrder.Mixed, githubWorkflowTargetTags ++= Seq("v*"),