You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I was just taking a look at this, and contramapN also requires a Semigroupal instance, so you'll need contravariantSemigroupal instead of contravariant, which does work now:
The current behavior is still wrong, though. There's definitely no reason syntax.apply._ should bring in contramapN, or that syntax.contravariantSemigroupal._ should give you e.g. traverseN.
It seems that all of these syntax functions come from TupleSemigroupalSyntax.scala which is autogenerated boilerplate code. Any ideas on how this should be handled? Should these TupleNSemigroupalOps classes be split into smaller classes offering 1 method each? (e.g. one class for mapN, one for imapN, one for contramapN, etc.)
When using a la carte imports, I need to
import cats.syntax.apply._
to be able to callcontramapN
, but I expected toimport cats.syntax.contravariant._
. Here's a scastie to demonstrate: https://scastie.scala-lang.org/mrdziuban/IZmraJ4BRlugdmXfeUWoLg/3The text was updated successfully, but these errors were encountered: