From b57702d67173f04f359b7569c20ade16fafdf683 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Koz=C5=82owski?= Date: Mon, 4 Jun 2018 00:50:00 +0200 Subject: [PATCH 1/2] Fix typo in Foldable comment --- core/src/main/scala/cats/Foldable.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/scala/cats/Foldable.scala b/core/src/main/scala/cats/Foldable.scala index 2d5f931832..6910bc0c8d 100644 --- a/core/src/main/scala/cats/Foldable.scala +++ b/core/src/main/scala/cats/Foldable.scala @@ -209,7 +209,7 @@ import Foldable.sentinel def collectFirst[A, B](fa: F[A])(pf: PartialFunction[A, B]): Option[B] = foldRight(fa, Eval.now(Option.empty[B])) { (a, lb) => - // trick from TravsersableOnce + // trick from TraversableOnce val x = pf.applyOrElse(a, sentinel) if (x.asInstanceOf[AnyRef] ne sentinel) Eval.now(Some(x.asInstanceOf[B])) else lb From 220190b55e7b129898b689065dee0abfe753e18c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Koz=C5=82owski?= Date: Sun, 10 Jun 2018 15:41:36 +0200 Subject: [PATCH 2/2] Update Foldable.scala --- core/src/main/scala/cats/Foldable.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/scala/cats/Foldable.scala b/core/src/main/scala/cats/Foldable.scala index 6910bc0c8d..2e88a25676 100644 --- a/core/src/main/scala/cats/Foldable.scala +++ b/core/src/main/scala/cats/Foldable.scala @@ -209,7 +209,7 @@ import Foldable.sentinel def collectFirst[A, B](fa: F[A])(pf: PartialFunction[A, B]): Option[B] = foldRight(fa, Eval.now(Option.empty[B])) { (a, lb) => - // trick from TraversableOnce + // trick from TraversableOnce, used to avoid calling both isDefined and apply (or calling lift) val x = pf.applyOrElse(a, sentinel) if (x.asInstanceOf[AnyRef] ne sentinel) Eval.now(Some(x.asInstanceOf[B])) else lb