From 0cd6d46a40143fa8593383f1b93fbb40d46191bf Mon Sep 17 00:00:00 2001 From: Emil Hotkowski Date: Wed, 3 Aug 2022 11:51:34 +0200 Subject: [PATCH] small optimisation for optF --- core/src/main/scala/cats/TraverseFilter.scala | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/src/main/scala/cats/TraverseFilter.scala b/core/src/main/scala/cats/TraverseFilter.scala index 490bf33464..9f2d00ec72 100644 --- a/core/src/main/scala/cats/TraverseFilter.scala +++ b/core/src/main/scala/cats/TraverseFilter.scala @@ -67,8 +67,10 @@ trait TraverseFilter[F[_]] extends FunctorFilter[F] { * scala> result.value * res0: List[Option[String]] = List(Some(two), None) */ - def traverseCollect[G[_], A, B](fa: F[A])(f: PartialFunction[A, G[B]])(implicit G: Applicative[G]): G[F[B]] = - traverseFilter(fa)(a => Traverse[Option].sequence(f.lift(a))) + def traverseCollect[G[_], A, B](fa: F[A])(f: PartialFunction[A, G[B]])(implicit G: Applicative[G]): G[F[B]] = { + val optF = f.lift + traverseFilter(fa)(a => Traverse[Option].sequence(optF(a))) + } /** * {{{