From d339bd850a16726555064ed5df5ab125cd1a86fe Mon Sep 17 00:00:00 2001 From: Scala Steward Date: Mon, 3 Nov 2025 18:01:40 +0000 Subject: [PATCH 1/4] Update scala3-compiler, scala3-library, ... to 3.7.3 --- build.sbt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/build.sbt b/build.sbt index 465b91a..a172159 100644 --- a/build.sbt +++ b/build.sbt @@ -4,9 +4,9 @@ Global / onChangedBuildSource := ReloadOnSourceChanges lazy val scala213 = "2.13.17" lazy val scala3 = "3.3.7" -lazy val scala3_6 = "3.6.4" +lazy val scala3Next = "3.7.3" -ThisBuild / crossScalaVersions := Seq(scala213, scala3, scala3_6) +ThisBuild / crossScalaVersions := Seq(scala213, scala3, scala3Next) ThisBuild / scalaVersion := scala3 ThisBuild / version := "0.7.0" @@ -38,7 +38,7 @@ lazy val mavenRepoUrl = "https://maven.bondlink-cdn.com" lazy val baseSettings = Seq( scalaVersion := scala3, - crossScalaVersions := Seq(scala213, scala3, scala3_6), + crossScalaVersions := Seq(scala213, scala3, scala3Next), organization := "com.bondlink", publishTo := Some("BondLink S3".at("s3://bondlink-maven-repo")), resolvers += "bondlink-maven-repo" at mavenRepoUrl, @@ -113,8 +113,8 @@ lazy val core = crossProject(JSPlatform, JVMPlatform, NativePlatform).in(file("c ) }, // Disable publishing for Scala 3.6 - publish := { if (scalaVersion.value == scala3_6) () else publish.value }, - publishLocal := { if (scalaVersion.value == scala3_6) () else publishLocal.value }, + publish := { if (scalaVersion.value == scala3Next) () else publish.value }, + publishLocal := { if (scalaVersion.value == scala3Next) () else publishLocal.value }, ) lazy val docs = project.in(file("formless-docs")) From 7ab965f0e94f2d8326497ccb26068f2ab5557261 Mon Sep 17 00:00:00 2001 From: Scala Steward Date: Mon, 3 Nov 2025 18:02:03 +0000 Subject: [PATCH 2/4] Regenerate GitHub Actions workflow Executed command: sbt githubWorkflowGenerate --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1530c8f..a684ee7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,7 +23,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - scala: [2.13.17, 3.3.7, 3.6.4] + scala: [2.13.17, 3.3.7, 3.7.3] java: [temurin@8, temurin@11, temurin@17, temurin@21] runs-on: ${{ matrix.os }} steps: From 18303b8d4f324ab9566b10eb0bc608cf362346d5 Mon Sep 17 00:00:00 2001 From: Matt Dziuban Date: Mon, 3 Nov 2025 14:19:22 -0500 Subject: [PATCH 3/4] Address warnings. --- .../src/main/scala-3/formless/record/FindField.scala | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/core/shared/src/main/scala-3/formless/record/FindField.scala b/core/shared/src/main/scala-3/formless/record/FindField.scala index ec5a182..e255c37 100644 --- a/core/shared/src/main/scala-3/formless/record/FindField.scala +++ b/core/shared/src/main/scala-3/formless/record/FindField.scala @@ -53,14 +53,15 @@ object FindField { case '[::[head, tail]] if Expr.summon[Cmp[head, F]].nonEmpty => // We need to replace `->>` with a concrete `class` type so the match works // Matches on opaque types like `->>` will *never* match - concrete(TypeRepr.of[head].dealias).asType match { + val concretTypeRepr = concrete(TypeRepr.of[head].dealias) + concretTypeRepr.asType match { case '[ConcreteLabelled[k, v]] => (unConcrete(TypeRepr.of[k]).asType, unConcrete(TypeRepr.of[v]).asType) match { case ('[key], '[value]) => '{ FindField.Inst[T, F, Cmp, key, value, [a] =>> HList.Concat[Rep[a], tail], HList.Concat[Rem, tail]](${ Expr(idx) }) } - } - case '[t] => - report.errorAndAbort(s"Unexpected type: ${Type.show[t]}") + }: @annotation.nowarn("msg=match may not be exhaustive") + case _ => + report.errorAndAbort(s"Unexpected type: ${concretTypeRepr.show}") } case '[::[head, tail]] => go[[a] =>> HList.Append[Rep[head], a], HList.Append[Rem, head], tail](idx + 1) From f9e938b9913c92cc136ac31b0d9df327a20e931f Mon Sep 17 00:00:00 2001 From: Matt Dziuban Date: Mon, 3 Nov 2025 16:01:59 -0500 Subject: [PATCH 4/4] Fix munit dependency. --- build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index a172159..37a3f26 100644 --- a/build.sbt +++ b/build.sbt @@ -77,7 +77,7 @@ lazy val root = project.in(file(".")) .settings(noPublishSettings) .disablePlugins(MimaPlugin) -lazy val munit = Def.setting("org.scalameta" %% "munit" % "1.2.1" % Test) +lazy val munit = Def.setting("org.scalameta" %%% "munit" % "1.2.1" % Test) lazy val shapeless = Def.setting("com.chuusai" %%% "shapeless" % "2.3.13") lazy val scalacheck = Def.setting("org.scalacheck" %%% "scalacheck" % "1.19.0" % Test)