Skip to content

Commit c5e5e37

Browse files
vasiliybondarenkolarsrh
authored andcommitted
Hash[Map[K, V]] has unnecessary constraint #3039
1 parent befc276 commit c5e5e37

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

core/src/main/scala/cats/instances/sortedSet.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ trait SortedSetInstances extends SortedSetInstances1 {
7373
private[instances] trait SortedSetInstances1 {
7474
@deprecated("2.0.0-RC2", "Use cats.kernel.instances.sortedSet.catsKernelStdHashForSortedSet")
7575
private[instances] def catsKernelStdHashForSortedSet[A: Order: Hash]: Hash[SortedSet[A]] =
76-
cats.kernel.instances.sortedSet.catsKernelStdHashForSortedSet[A]
76+
cats.kernel.instances.sortedSet.catsKernelStdHashForSortedSet1[A]
7777

7878
@deprecated("2.0.0-RC2", "Use cats.kernel.instances.sortedSet.catsKernelStdSemilatticeForSortedSet")
7979
def catsKernelStdSemilatticeForSortedSet[A: Order]: BoundedSemilattice[SortedSet[A]] =
@@ -94,7 +94,7 @@ private[instances] trait SortedSetInstancesBinCompat0 {
9494
private[instances] trait SortedSetInstancesBinCompat1 extends LowPrioritySortedSetInstancesBinCompat1 {
9595
// TODO: Remove when this is no longer necessary for binary compatibility.
9696
implicit override def catsKernelStdHashForSortedSet[A: Order: Hash]: Hash[SortedSet[A]] =
97-
cats.kernel.instances.sortedSet.catsKernelStdHashForSortedSet[A]
97+
cats.kernel.instances.sortedSet.catsKernelStdHashForSortedSet1[A]
9898
}
9999

100100
private[instances] trait LowPrioritySortedSetInstancesBinCompat1
@@ -104,7 +104,7 @@ private[instances] trait LowPrioritySortedSetInstancesBinCompat1
104104
cats.kernel.instances.sortedSet.catsKernelStdOrderForSortedSet[A]
105105

106106
override def catsKernelStdHashForSortedSet[A: Order: Hash]: Hash[SortedSet[A]] =
107-
cats.kernel.instances.sortedSet.catsKernelStdHashForSortedSet[A]
107+
cats.kernel.instances.sortedSet.catsKernelStdHashForSortedSet1[A]
108108
}
109109

110110
@deprecated("2.0.0-RC2", "Use cats.kernel.instances.SortedSetHash")

kernel/src/main/scala/cats/kernel/instances/SortedSetInstances.scala

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
package cats.kernel
22
package instances
33

4-
import cats.kernel.{BoundedSemilattice, Hash, Order}
54
import scala.collection.immutable.SortedSet
65

76
trait SortedSetInstances extends SortedSetInstances1 {
8-
implicit def catsKernelStdHashForSortedSet[A: Order: Hash]: Hash[SortedSet[A]] =
7+
@deprecated("Will be removed after dropping Scala 2.11 support", "")
8+
def catsKernelStdHashForSortedSet[A: Order: Hash]: Hash[SortedSet[A]] =
9+
new SortedSetHash[A]
10+
11+
implicit def catsKernelStdHashForSortedSet1[A: Hash]: Hash[SortedSet[A]] =
912
new SortedSetHash[A]
1013
}
1114

@@ -28,7 +31,7 @@ class SortedSetOrder[A: Order] extends Order[SortedSet[A]] {
2831
StaticMethods.iteratorEq(s1.iterator, s2.iterator)
2932
}
3033

31-
class SortedSetHash[A: Order: Hash] extends Hash[SortedSet[A]] {
34+
class SortedSetHash[A: Hash] extends Hash[SortedSet[A]] {
3235
import scala.util.hashing.MurmurHash3._
3336

3437
// adapted from [[scala.util.hashing.MurmurHash3]],
@@ -50,7 +53,7 @@ class SortedSetHash[A: Order: Hash] extends Hash[SortedSet[A]] {
5053
finalizeHash(h, n)
5154
}
5255
override def eqv(s1: SortedSet[A], s2: SortedSet[A]): Boolean =
53-
StaticMethods.iteratorEq(s1.iterator, s2.iterator)(Order[A])
56+
StaticMethods.iteratorEq(s1.iterator, s2.iterator)(Eq[A])
5457
}
5558

5659
class SortedSetSemilattice[A: Order] extends BoundedSemilattice[SortedSet[A]] {

0 commit comments

Comments
 (0)