From 292f9c9adb999478c2656a6b68b12ebec38c996a Mon Sep 17 00:00:00 2001 From: Mateusz Borek Date: Tue, 29 Jun 2021 11:53:52 +0200 Subject: [PATCH 1/2] add formBody test --- core/src/test/scala/sttp/tapir/EndpointTest.scala | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/core/src/test/scala/sttp/tapir/EndpointTest.scala b/core/src/test/scala/sttp/tapir/EndpointTest.scala index 2f20df18a0..10c780edc0 100644 --- a/core/src/test/scala/sttp/tapir/EndpointTest.scala +++ b/core/src/test/scala/sttp/tapir/EndpointTest.scala @@ -401,4 +401,15 @@ class EndpointTest extends AnyFlatSpec with EndpointTestExtensions with Matchers |query[Int]("q1").and(query[String]("q2")).mapTo[Wrapper] """) } + + "mapTo" should "compile for case class with defined companion object" in { + assertCompiles(""" + import sttp.tapir.generic.auto._ + + case class Wrapper(i: Int, s: String) + object Wrapper + + formBody[Wrapper] + """) + } } From 78405d502dd38e0bc6a52a91346397da7eae7c4a Mon Sep 17 00:00:00 2001 From: Mateusz Borek Date: Tue, 29 Jun 2021 12:13:09 +0200 Subject: [PATCH 2/2] use apply method --- core/src/main/scala-2/sttp/tapir/internal/CaseClassUtil.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/scala-2/sttp/tapir/internal/CaseClassUtil.scala b/core/src/main/scala-2/sttp/tapir/internal/CaseClassUtil.scala index 30757ad845..59b04366c6 100644 --- a/core/src/main/scala-2/sttp/tapir/internal/CaseClassUtil.scala +++ b/core/src/main/scala-2/sttp/tapir/internal/CaseClassUtil.scala @@ -23,7 +23,7 @@ private[tapir] class CaseClassUtil[C <: blackbox.Context, T: C#WeakTypeTag](val lazy val instanceFromValues: Tree = if (fields.size == 1) { q"$companion.apply(values.head.asInstanceOf[${fields.head.typeSignature}])" } else { - q"$companion.tupled.asInstanceOf[Any => $t].apply(sttp.tapir.internal.SeqToParams(values))" + q"($companion.apply _).tupled.asInstanceOf[Any => $t].apply(sttp.tapir.internal.SeqToParams(values))" } lazy val schema: Tree = c.typecheck(q"_root_.scala.Predef.implicitly[_root_.sttp.tapir.Schema[$t]]")