diff --git a/.scalafmt.conf b/.scalafmt.conf index 94c23d6be7..31bd39e5d1 100644 --- a/.scalafmt.conf +++ b/.scalafmt.conf @@ -1,4 +1,4 @@ -version=3.3.0 +version=3.3.1 align.openParenCallSite = true align.openParenDefnSite = true maxColumn = 120 diff --git a/project/KernelBoiler.scala b/project/KernelBoiler.scala index 207a2b5ec7..9bc21f8bf3 100644 --- a/project/KernelBoiler.scala +++ b/project/KernelBoiler.scala @@ -150,7 +150,9 @@ object KernelBoiler { | def empty: ${`(A..N)`} = ${nullaryTuple("empty")} | def inverse(x: ${`(A..N)`}): ${`(A..N)`} = ${unaryTuple("inverse")} | } - | implicit def catsKernelStdOrderForTuple${arity}[${`A..N`}](implicit ${constraints("Order")}): Order[${`(A..N)`}] = + | implicit def catsKernelStdOrderForTuple${arity}[${`A..N`}](implicit ${constraints( + "Order" + )}): Order[${`(A..N)`}] = | new Order[${`(A..N)`}] { | def compare(x: ${`(A..N)`}, y: ${`(A..N)`}): Int = | ${binMethod("compare").mkString("Array(", ", ", ")")}.find(_ != 0).getOrElse(0) @@ -185,13 +187,17 @@ object KernelBoiler { | def combine(x: ${`(A..N)`}, y: ${`(A..N)`}): ${`(A..N)`} = ${binTuple("combine")} | def empty: ${`(A..N)`} = ${nullaryTuple("empty")} | } - | implicit def catsKernelStdGroupForTuple${arity}[${`A..N`}](implicit ${constraints("Group")}): Group[${`(A..N)`}] = + | implicit def catsKernelStdGroupForTuple${arity}[${`A..N`}](implicit ${constraints( + "Group" + )}): Group[${`(A..N)`}] = | new Group[${`(A..N)`}] { | def combine(x: ${`(A..N)`}, y: ${`(A..N)`}): ${`(A..N)`} = ${binTuple("combine")} | def empty: ${`(A..N)`} = ${nullaryTuple("empty")} | def inverse(x: ${`(A..N)`}): ${`(A..N)`} = ${unaryTuple("inverse")} | } - | implicit def catsKernelStdHashForTuple${arity}[${`A..N`}](implicit ${constraints("Hash")}): Hash[${`(A..N)`}] = + | implicit def catsKernelStdHashForTuple${arity}[${`A..N`}](implicit ${constraints( + "Hash" + )}): Hash[${`(A..N)`}] = | new Hash[${`(A..N)`}] { | def hash(x: ${`(A..N)`}): Int = ${unaryMethod("hash") .mkString(s"$tupleNHeader(", ", ", ")")}.hashCode() @@ -214,7 +220,9 @@ object KernelBoiler { import tv._ def content = block""" - | implicit def catsKernelStdBandForTuple${arity}[${`A..N`}](implicit ${constraints("Band")}): Band[${`(A..N)`}] = + | implicit def catsKernelStdBandForTuple${arity}[${`A..N`}](implicit ${constraints( + "Band" + )}): Band[${`(A..N)`}] = | new Band[${`(A..N)`}] { | def combine(x: ${`(A..N)`}, y: ${`(A..N)`}): ${`(A..N)`} = ${binTuple("combine")} | } @@ -224,7 +232,9 @@ object KernelBoiler { | new CommutativeSemigroup[${`(A..N)`}] { | def combine(x: ${`(A..N)`}, y: ${`(A..N)`}): ${`(A..N)`} = ${binTuple("combine")} | } - | implicit def catsKernelStdMonoidForTuple${arity}[${`A..N`}](implicit ${constraints("Monoid")}): Monoid[${`(A..N)`}] = + | implicit def catsKernelStdMonoidForTuple${arity}[${`A..N`}](implicit ${constraints( + "Monoid" + )}): Monoid[${`(A..N)`}] = | new Monoid[${`(A..N)`}] { | def combine(x: ${`(A..N)`}, y: ${`(A..N)`}): ${`(A..N)`} = ${binTuple("combine")} | def empty: ${`(A..N)`} = ${nullaryTuple("empty")} @@ -239,11 +249,15 @@ object KernelBoiler { import tv._ def content = block""" - | implicit def catsKernelStdSemigroupForTuple${arity}[${`A..N`}](implicit ${constraints("Semigroup")}): Semigroup[${`(A..N)`}] = + | implicit def catsKernelStdSemigroupForTuple${arity}[${`A..N`}](implicit ${constraints( + "Semigroup" + )}): Semigroup[${`(A..N)`}] = | new Semigroup[${`(A..N)`}] { | def combine(x: ${`(A..N)`}, y: ${`(A..N)`}): ${`(A..N)`} = ${binTuple("combine")} | } - | implicit def catsKernelStdEqForTuple${arity}[${`A..N`}](implicit ${constraints("Eq")}): Eq[${`(A..N)`}] = + | implicit def catsKernelStdEqForTuple${arity}[${`A..N`}](implicit ${constraints( + "Eq" + )}): Eq[${`(A..N)`}] = | new Eq[${`(A..N)`}] { | def eqv(x: ${`(A..N)`}, y: ${`(A..N)`}): Boolean = ${binMethod("eqv").mkString(" && ")} | }""" @@ -255,7 +269,9 @@ object KernelBoiler { new TemplatedBlock(tv) { import tv._ def content = - block"""| implicit def catsKernelBandForTuple${arity}[${`A..N`}](implicit ${constraints("Band")}): Band[${`(A..N)`}] = new Band[${`(A..N)`}] { + block"""| implicit def catsKernelBandForTuple${arity}[${`A..N`}](implicit ${constraints( + "Band" + )}): Band[${`(A..N)`}] = new Band[${`(A..N)`}] { | def combine(x: ${`(A..N)`}, y: ${`(A..N)`}): ${`(A..N)`} = ${binTuple("combine")} | }""" } @@ -322,7 +338,9 @@ object KernelBoiler { new TemplatedBlock(tv) { import tv._ def content = - block"""| implicit def catsKernelEqForTuple${arity}[${`A..N`}](implicit ${constraints("Eq")}): Eq[${`(A..N)`}] = new Eq[${`(A..N)`}] { + block"""| implicit def catsKernelEqForTuple${arity}[${`A..N`}](implicit ${constraints( + "Eq" + )}): Eq[${`(A..N)`}] = new Eq[${`(A..N)`}] { | def eqv(x: ${`(A..N)`}, y: ${`(A..N)`}): Boolean = ${binMethod("eqv").mkString(" && ")} | }""" } @@ -333,7 +351,9 @@ object KernelBoiler { new TemplatedBlock(tv) { import tv._ def content = - block"""| implicit def catsKernelGroupForTuple${arity}[${`A..N`}](implicit ${constraints("Group")}): Group[${`(A..N)`}] = new Group[${`(A..N)`}] { + block"""| implicit def catsKernelGroupForTuple${arity}[${`A..N`}](implicit ${constraints( + "Group" + )}): Group[${`(A..N)`}] = new Group[${`(A..N)`}] { | def combine(x: ${`(A..N)`}, y: ${`(A..N)`}): ${`(A..N)`} = ${binTuple("combine")} | def empty: ${`(A..N)`} = ${nullaryTuple("empty")} | def inverse(x: ${`(A..N)`}): ${`(A..N)`} = ${unaryTuple("inverse")} @@ -346,7 +366,9 @@ object KernelBoiler { new TemplatedBlock(tv) { import tv._ def content = - block"""| implicit def catsKernelHashForTuple${arity}[${`A..N`}](implicit ${constraints("Hash")}): Hash[${`(A..N)`}] = new Hash[${`(A..N)`}] { + block"""| implicit def catsKernelHashForTuple${arity}[${`A..N`}](implicit ${constraints( + "Hash" + )}): Hash[${`(A..N)`}] = new Hash[${`(A..N)`}] { | def hash(x: ${`(A..N)`}): Int = ${unaryMethod("hash") .mkString(s"$tupleNHeader(", ", ", ")")}.hashCode() | def eqv(x: ${`(A..N)`}, y: ${`(A..N)`}): Boolean = ${binMethod("eqv").mkString(" && ")} @@ -359,7 +381,9 @@ object KernelBoiler { new TemplatedBlock(tv) { import tv._ def content = - block"""| implicit def catsKernelMonoidForTuple${arity}[${`A..N`}](implicit ${constraints("Monoid")}): Monoid[${`(A..N)`}] = new Monoid[${`(A..N)`}] { + block"""| implicit def catsKernelMonoidForTuple${arity}[${`A..N`}](implicit ${constraints( + "Monoid" + )}): Monoid[${`(A..N)`}] = new Monoid[${`(A..N)`}] { | def combine(x: ${`(A..N)`}, y: ${`(A..N)`}): ${`(A..N)`} = ${binTuple("combine")} | def empty: ${`(A..N)`} = ${nullaryTuple("empty")} | }""" @@ -371,7 +395,9 @@ object KernelBoiler { new TemplatedBlock(tv) { import tv._ def content = - block"""| implicit def catsKernelOrderForTuple${arity}[${`A..N`}](implicit ${constraints("Order")}): Order[${`(A..N)`}] = new Order[${`(A..N)`}] { + block"""| implicit def catsKernelOrderForTuple${arity}[${`A..N`}](implicit ${constraints( + "Order" + )}): Order[${`(A..N)`}] = new Order[${`(A..N)`}] { | def compare(x: ${`(A..N)`}, y: ${`(A..N)`}): Int = | ${binMethod("compare").mkString("Array(", ", ", ")")}.find(_ != 0).getOrElse(0) | }""" diff --git a/project/TupleMonadInstancesBoiler.scala b/project/TupleMonadInstancesBoiler.scala index c38cb33449..95006c644e 100644 --- a/project/TupleMonadInstancesBoiler.scala +++ b/project/TupleMonadInstancesBoiler.scala @@ -84,13 +84,17 @@ object GenTupleMonadInstances extends Template { - new FlatMapTuple$arity${`[A0, A(N - 1)]`}(${`A0, A(N - 1)`}) with CommutativeFlatMap[${`(A..N - 1, *)`}] |} |private[cats] sealed trait NTupleMonadInstances3 extends NTupleMonadInstances4 { - - implicit def catsStdMonadForTuple$arity${`[A0, A(N - 1)]`}${`constraints A..(N-1)`("Monoid")}: Monad[${`(A..N - 1, *)`}] = + - implicit def catsStdMonadForTuple$arity${`[A0, A(N - 1)]`}${`constraints A..(N-1)`( + "Monoid" + )}: Monad[${`(A..N - 1, *)`}] = - new FlatMapTuple$arity${`[A0, A(N - 1)]`}(${`A0, A(N - 1)`}) with Monad[${`(A..N - 1, *)`}] { - def pure[A](a: A): ${`A0, A(N - 1)&`("A")} = $monadPureMethod - } |} |private[cats] sealed trait NTupleMonadInstances4 extends NTupleMonadInstances5 { - - implicit def catsStdFlatMapForTuple$arity${`[A0, A(N - 1)]`}${`constraints A..(N-1)`("Semigroup")}: FlatMap[${`(A..N - 1, *)`}] = + - implicit def catsStdFlatMapForTuple$arity${`[A0, A(N - 1)]`}${`constraints A..(N-1)`( + "Semigroup" + )}: FlatMap[${`(A..N - 1, *)`}] = - new FlatMapTuple$arity${`[A0, A(N - 1)]`}(${`A0, A(N - 1)`}) |} |private[cats] sealed trait NTupleMonadInstances5 { @@ -101,10 +105,14 @@ object GenTupleMonadInstances extends Template { - } |} - - -private[instances] class $flatMapTupleClass${`[A0, A(N - 1)]`}(${`parameters A..(N-1)`("Semigroup")}) extends FlatMap[${`(A..N - 1, *)`}] { + -private[instances] class $flatMapTupleClass${`[A0, A(N - 1)]`}(${`parameters A..(N-1)`( + "Semigroup" + )}) extends FlatMap[${`(A..N - 1, *)`}] { - override def ap[A, B](ff: ${`A0, A(N - 1)&`("A => B")})(fa: ${`A0, A(N - 1)&`("A")}): ${`A0, A(N - 1)&`("B")} = - ${`combine A..(N - 1)`("ff", "fa", s"ff._$arity(fa._$arity)")} - - override def product[A, B](fa: ${`A0, A(N - 1)&`("A")}, fb: ${`A0, A(N - 1)&`("B")}): ${`A0, A(N - 1)&`("(A, B)")} = + - override def product[A, B](fa: ${`A0, A(N - 1)&`("A")}, fb: ${`A0, A(N - 1)&`("B")}): ${`A0, A(N - 1)&`( + "(A, B)" + )} = - ${`combine A..(N - 1)`("fa", "fb", s"(fa._$arity, fb._$arity)")} - override def map[A, B](fa: ${`A0, A(N - 1)&`("A")})(f: A => B): ${`A0, A(N - 1)&`("B")} = - ${`fa._1..(n - 1) & `(s"f(fa._$arity)")} diff --git a/project/TupleUnorderedFoldableInstancesBoiler.scala b/project/TupleUnorderedFoldableInstancesBoiler.scala index cf9fbfe8d4..526bd92316 100644 --- a/project/TupleUnorderedFoldableInstancesBoiler.scala +++ b/project/TupleUnorderedFoldableInstancesBoiler.scala @@ -27,20 +27,30 @@ object GenTupleUnorderedFoldableInstances extends Template { )}] = - G.map(f(fa._$arity))(${`(fa._1..(n - 1))`}) - def foldLeft[A, B](fa: ${`A0, A(N - 1)&`("A")}, b: B)(f: (B, A) => B): B = f(b, fa._$arity) -- def foldRight[A, B](fa: ${`A0, A(N - 1)&`("A")}, lb: Eval[B])(f: (A, Eval[B]) => Eval[B]): Eval[B] = f(fa._$arity, lb) +- def foldRight[A, B](fa: ${`A0, A(N - 1)&`( + "A" + )}, lb: Eval[B])(f: (A, Eval[B]) => Eval[B]): Eval[B] = f(fa._$arity, lb) - override def map[A, B](fa: ${`A0, A(N - 1)&`("A")})(f: A => B): ${`A0, A(N - 1)&`("B")} = - ${`fa._1..(n - 1) & `(s"f(fa._$arity)")} - override def foldMap[A, B](fa: ${`A0, A(N - 1)&`("A")})(f: A => B)(implicit B: Monoid[B]): B = f(fa._$arity) - override def reduce[A](fa: ${`A0, A(N - 1)&`("A")})(implicit A: Semigroup[A]): A = fa._$arity - def reduceLeftTo[A, B](fa: ${`A0, A(N - 1)&`("A")})(f: A => B)(g: (B, A) => B): B = f(fa._$arity) - override def reduceLeft[A](fa: ${`A0, A(N - 1)&`("A")})(f: (A, A) => A): A = fa._$arity -- override def reduceLeftToOption[A, B](fa: ${`A0, A(N - 1)&`("A")})(f: A => B)(g: (B, A) => B): Option[B] = Some(f(fa._$arity)) +- override def reduceLeftToOption[A, B](fa: ${`A0, A(N - 1)&`( + "A" + )})(f: A => B)(g: (B, A) => B): Option[B] = Some(f(fa._$arity)) - override def reduceRight[A](fa: ${`A0, A(N - 1)&`("A")})(f: (A, Eval[A]) => Eval[A]): Eval[A] = Now(fa._$arity) -- def reduceRightTo[A, B](fa: ${`A0, A(N - 1)&`("A")})(f: A => B)(g: (A, Eval[B]) => Eval[B]): Eval[B] = Now(f(fa._$arity)) -- override def reduceRightToOption[A, B](fa: ${`A0, A(N - 1)&`("A")})(f: A => B)(g: (A, Eval[B]) => Eval[B]): Eval[Option[B]] = Now(Some(f(fa._$arity))) +- def reduceRightTo[A, B](fa: ${`A0, A(N - 1)&`( + "A" + )})(f: A => B)(g: (A, Eval[B]) => Eval[B]): Eval[B] = Now(f(fa._$arity)) +- override def reduceRightToOption[A, B](fa: ${`A0, A(N - 1)&`( + "A" + )})(f: A => B)(g: (A, Eval[B]) => Eval[B]): Eval[Option[B]] = Now(Some(f(fa._$arity))) - override def reduceMap[A, B](fa: ${`A0, A(N - 1)&`("A")})(f: A => B)(implicit B: Semigroup[B]): B = f(fa._$arity) - override def size[A](fa: ${`A0, A(N - 1)&`("A")}): Long = 1L -- override def get[A](fa: ${`A0, A(N - 1)&`("A")})(idx: Long): Option[A] = if (idx == 0L) Some(fa._$arity) else None +- override def get[A](fa: ${`A0, A(N - 1)&`( + "A" + )})(idx: Long): Option[A] = if (idx == 0L) Some(fa._$arity) else None - override def exists[A](fa: ${`A0, A(N - 1)&`("A")})(p: A => Boolean): Boolean = p(fa._$arity) - override def forall[A](fa: ${`A0, A(N - 1)&`("A")})(p: A => Boolean): Boolean = p(fa._$arity) - override def isEmpty[A](fa: ${`A0, A(N - 1)&`("A")}): Boolean = false