From a809aca23bad9b10b4787fa90c3cb8f0c6f42be1 Mon Sep 17 00:00:00 2001 From: Flavio Brasil Date: Thu, 29 Feb 2024 12:15:15 -0800 Subject: [PATCH] avoid allocation in Validator.All.contramap (#3555) --- core/src/main/scala/sttp/tapir/Validator.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/scala/sttp/tapir/Validator.scala b/core/src/main/scala/sttp/tapir/Validator.scala index 6ef174c5eb..dbd8aa5922 100644 --- a/core/src/main/scala/sttp/tapir/Validator.scala +++ b/core/src/main/scala/sttp/tapir/Validator.scala @@ -242,7 +242,7 @@ object Validator extends ValidatorMacros { case class All[T](validators: immutable.Seq[Validator[T]]) extends Validator[T] { override def apply(t: T): List[ValidationError[_]] = validators.flatMap(_.apply(t)).toList - override def contramap[TT](g: TT => T): Validator[TT] = if (validators.isEmpty) All(Nil) else super.contramap(g) + override def contramap[TT](g: TT => T): Validator[TT] = if (validators.isEmpty) this.asInstanceOf[Validator[TT]] else super.contramap(g) override def and(other: Validator[T]): Validator[T] = if (validators.isEmpty) other else All(validators :+ other) }