diff --git a/core-macros/src/main/scala/sbt/internal/util/appmacro/Convert.scala b/core-macros/src/main/scala/sbt/internal/util/appmacro/Convert.scala index 2c869081e..f4b359371 100644 --- a/core-macros/src/main/scala/sbt/internal/util/appmacro/Convert.scala +++ b/core-macros/src/main/scala/sbt/internal/util/appmacro/Convert.scala @@ -64,6 +64,8 @@ trait Convert[C <: Quotes & Singleton] extends ContextUtil[C]: report.errorAndAbort(message, position) case _ => super.transformTerm(tree)(owner) + case _ => + super.transformTerm(tree)(owner) case _ => super.transformTerm(tree)(owner) end appTransformer diff --git a/main-settings/src/test/scala/sbt/std/UsageTest.scala b/main-settings/src/test/scala/sbt/std/UsageTest.scala index bba768016..eee200def 100644 --- a/main-settings/src/test/scala/sbt/std/UsageTest.scala +++ b/main-settings/src/test/scala/sbt/std/UsageTest.scala @@ -29,6 +29,30 @@ object UseTask: } end UseTask +// https://github.com/sbt/sbt/issues/9375 +object UseHktTypeArgument: + final class IO[A] + + object Builder: + def apply[F[_]](value: String): String = value + + val settingWithHktTypeArgument: Def.Initialize[String] = Def.setting { + Builder[IO]("setting") + } + + val taskWithHktTypeArgument: Def.Initialize[Task[String]] = Def.task { + Builder[IO]("task") + } + + val name = Def.settingKey[String]("name") + val key = Def.taskKey[String]("key") + val settings = Seq( + key := Def.uncached { + Builder[IO](name.value) + } + ) +end UseHktTypeArgument + object Assign { import java.io.File