diff --git a/core/src/main/scala/cats/syntax/applicative.scala b/core/src/main/scala/cats/syntax/applicative.scala index 9954f17922..7da7db0fc4 100644 --- a/core/src/main/scala/cats/syntax/applicative.scala +++ b/core/src/main/scala/cats/syntax/applicative.scala @@ -23,6 +23,7 @@ package cats package syntax trait ApplicativeSyntax { + final def unit[F[_]](implicit F: Applicative[F]): F[Unit] = Applicative[F].unit implicit final def catsSyntaxApplicativeId[A](a: A): ApplicativeIdOps[A] = new ApplicativeIdOps[A](a) implicit final def catsSyntaxApplicativeByName[F[_], A](fa: => F[A]): ApplicativeByNameOps[F, A] = diff --git a/tests/shared/src/test/scala/cats/tests/SyntaxSuite.scala b/tests/shared/src/test/scala/cats/tests/SyntaxSuite.scala index 3e18524138..f595e77d91 100644 --- a/tests/shared/src/test/scala/cats/tests/SyntaxSuite.scala +++ b/tests/shared/src/test/scala/cats/tests/SyntaxSuite.scala @@ -525,6 +525,7 @@ object SyntaxSuite { def testApplicative[F[_]: Applicative, A]: Unit = { val a = mock[A] val fa = a.pure[F] + val u: F[Unit] = unit[F] val replicateA = fa.replicateA(1) val replicateA_ = fa.replicateA_(1) }