Skip to content

Commit fe4975b

Browse files
committed
remove scala collection compat
1 parent 9d4ec8a commit fe4975b

File tree

5 files changed

+14
-9
lines changed

5 files changed

+14
-9
lines changed

build.sbt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,6 @@ lazy val kernelLaws = crossProject(JSPlatform, JVMPlatform, NativePlatform)
124124
.settings(testingDependencies)
125125
.jsSettings(commonJsSettings)
126126
.jvmSettings(commonJvmSettings)
127-
.jvmSettings(libraryDependencies += "org.scala-lang.modules" %% "scala-collection-compat" % "2.11.0" % Test)
128127
.nativeSettings(commonNativeSettings)
129128

130129
lazy val algebraSettings = Seq[Setting[?]](

kernel-laws/jvm/src/test/scala/cats/kernel/laws/JvmLawTests.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@
2222
package cats.kernel
2323
package laws
2424

25+
import cats.kernel.compat.scalaVersionSpecific.*
2526
import cats.kernel.instances.currency.*
2627
import cats.kernel.laws.discipline.*
2728
import munit.DisciplineSuite
2829
import java.util.Currency
2930
import org.scalacheck.{Arbitrary, Cogen, Gen}
30-
import scala.jdk.CollectionConverters.*
3131

3232
class JvmLawTests extends TestsConfig with DisciplineSuite {
3333
implicit private val arbitraryCurrency: Arbitrary[Currency] = Arbitrary(

kernel/src/main/scala-2.12/cats/kernel/compat/scalaVersionSpecific.scala

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121

2222
package cats.kernel.compat
2323
import scala.annotation.{Annotation, StaticAnnotation}
24-
import scala.collection.{IterableLike, TraversableLike}
24+
import scala.collection.{mutable, IterableLike, TraversableLike}
25+
import scala.collection.convert.ImplicitConversionsToScala.*
2526

2627
private[cats] object scalaVersionSpecific {
2728

@@ -50,4 +51,8 @@ private[cats] object scalaVersionSpecific {
5051
that: T
5152
)(implicit w1: A => TraversableLike[El1, Repr1], w2: T => IterableLike[El2, Repr2]) = (a, that).zipped
5253
}
54+
55+
implicit class setExtension[A](private val a: A) extends AnyVal {
56+
def asScala(s: java.util.Set[A]): mutable.Set[A] = `set asScala`(s)
57+
}
5358
}

kernel/src/main/scala-2.13+/cats/kernel/compat/scalaVersionSpecific.scala

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ package kernel
2424

2525
package compat
2626
import scala.annotation.{Annotation, StaticAnnotation}
27+
import scala.collection.mutable
28+
import scala.jdk.CollectionConverters.*
2729

2830
private[cats] object scalaVersionSpecific {
2931

@@ -35,4 +37,8 @@ private[cats] object scalaVersionSpecific {
3537
implicit class iterableOnceExtension[A](private val io: IterableOnce[A]) extends AnyVal {
3638
def reduceOption(f: (A, A) => A): Option[A] = io.iterator.reduceOption(f)
3739
}
40+
41+
implicit class setExtension[A](private val s: java.util.Set[A]) extends AnyVal {
42+
def asScala: mutable.Set[A] = SetHasAsScala(s).asScala
43+
}
3844
}

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

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,5 @@ package instances
2525
import java.util.Currency
2626

2727
trait CurrencyInstances {
28-
implicit def catsKernelStdHashForCurrency: Hash[Currency] = new CurrencyHash
29-
}
30-
31-
class CurrencyHash extends Hash[Currency] {
32-
override def eqv(x: Currency, y: Currency): Boolean = x.getCurrencyCode().equals(y.getCurrencyCode())
33-
override def hash(x: Currency): Int = x.getCurrencyCode().hashCode()
28+
implicit val catsKernelStdHashForCurrency: Hash[Currency] = Hash.fromUniversalHashCode[Currency]
3429
}

0 commit comments

Comments
 (0)