From b05a73f108937d7f79e0621caff7f035573abd24 Mon Sep 17 00:00:00 2001 From: Kailuo Wang Date: Tue, 10 Sep 2019 12:15:44 -0400 Subject: [PATCH 1/6] drop Scala 2.11 support --- .travis.yml | 14 ++----- .../compat/IterableEmptyInstance.scala | 0 .../compat/scalaVersionSpecific.scala | 0 .../cats/bench/ChainBench.scala | 0 .../cats/bench/CollectionMonoidBench.scala | 0 .../cats/bench/MapMonoidBench.scala | 0 build.sbt | 42 +++---------------- .../cats/compat/SortedSet.scala | 0 .../cats/data/OneAndLowPriority4.scala | 0 .../data/ScalaVersionSpecificPackage.scala | 0 .../cats/data/ZipStream.scala | 0 ...calaVersionSpecificParallelInstances.scala | 0 .../cats/instances/all.scala | 0 .../cats/instances/package.scala | 0 .../cats/instances/stream.scala | 0 core/src/main/scala/cats/Inject.scala | 3 -- core/src/main/scala/cats/InjectK.scala | 2 - .../compat/scalaVersionMoreSpecific.scala | 16 ------- .../cats/kernel/compat/HashCompat.scala | 0 .../cats/kernel/compat/TraversableOnce.scala | 0 .../kernel/compat/WrappedMutableMapBase.scala | 0 .../compat/scalaVersionMoreSpecific.scala | 10 ----- .../kernel/compat/scalaVersionSpecific.scala | 0 .../cats/kernel/instances/AllInstances.scala | 0 .../kernel/instances/StreamInstances.scala | 0 .../discipline/ScalaVersionSpecific.scala | 0 .../test/scala/cats/tests/ChainSuite.scala | 2 +- .../test/scala/cats/tests/EitherSuite.scala | 2 +- 28 files changed, 10 insertions(+), 81 deletions(-) rename alleycats-core/src/main/{scala-2.12- => scala-2.12}/alleycats/compat/IterableEmptyInstance.scala (100%) rename alleycats-core/src/main/{scala-2.12- => scala-2.12}/alleycats/compat/scalaVersionSpecific.scala (100%) rename bench/src/main/{scala-2.12- => scala-2.12}/cats/bench/ChainBench.scala (100%) rename bench/src/main/{scala-2.12- => scala-2.12}/cats/bench/CollectionMonoidBench.scala (100%) rename bench/src/main/{scala-2.12- => scala-2.12}/cats/bench/MapMonoidBench.scala (100%) rename core/src/main/{scala-2.12- => scala-2.12}/cats/compat/SortedSet.scala (100%) rename core/src/main/{scala-2.12- => scala-2.12}/cats/data/OneAndLowPriority4.scala (100%) rename core/src/main/{scala-2.12- => scala-2.12}/cats/data/ScalaVersionSpecificPackage.scala (100%) rename core/src/main/{scala-2.12- => scala-2.12}/cats/data/ZipStream.scala (100%) rename core/src/main/{scala-2.12- => scala-2.12}/cats/instances/ScalaVersionSpecificParallelInstances.scala (100%) rename core/src/main/{scala-2.12- => scala-2.12}/cats/instances/all.scala (100%) rename core/src/main/{scala-2.12- => scala-2.12}/cats/instances/package.scala (100%) rename core/src/main/{scala-2.12- => scala-2.12}/cats/instances/stream.scala (100%) delete mode 100644 kernel/src/main/scala-2.11/cats/kernel/compat/scalaVersionMoreSpecific.scala rename kernel/src/main/{scala-2.12- => scala-2.12}/cats/kernel/compat/HashCompat.scala (100%) rename kernel/src/main/{scala-2.12- => scala-2.12}/cats/kernel/compat/TraversableOnce.scala (100%) rename kernel/src/main/{scala-2.12- => scala-2.12}/cats/kernel/compat/WrappedMutableMapBase.scala (100%) delete mode 100644 kernel/src/main/scala-2.12/cats/kernel/compat/scalaVersionMoreSpecific.scala rename kernel/src/main/{scala-2.12- => scala-2.12}/cats/kernel/compat/scalaVersionSpecific.scala (100%) rename kernel/src/main/{scala-2.12- => scala-2.12}/cats/kernel/instances/AllInstances.scala (100%) rename kernel/src/main/{scala-2.12- => scala-2.12}/cats/kernel/instances/StreamInstances.scala (100%) rename laws/src/main/{scala-2.12- => scala-2.12}/cats/laws/discipline/ScalaVersionSpecific.scala (100%) diff --git a/.travis.yml b/.travis.yml index 6c6964ba6d..92e6f82710 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,7 @@ git: jdk: - openjdk8 -scala_version_211: &scala_version_211 2.11.12 + scala_version_212: &scala_version_212 2.12.9 scala_version_213: &scala_version_213 2.13.0 @@ -34,22 +34,17 @@ jobs: install: pip install --user codecov script: sbt coverage buildJVM bench/test coverageReport && codecov - - &js_tests - stage: test + - stage: test env: TEST="JS tests" # http://austinpray.com/ops/2015/09/20/change-travis-node-version.html install: rm -rf ~/.nvm && git clone https://github.com/creationix/nvm.git ~/.nvm && (cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`) && source ~/.nvm/nvm.sh && nvm install $TRAVIS_NODE_VERSION script: sbt ++$TRAVIS_SCALA_VERSION! validateJS && sbt ++$TRAVIS_SCALA_VERSION! validateKernelJS && sbt ++$TRAVIS_SCALA_VERSION! validateFreeJS - scala: *scala_version_211 - - <<: *js_tests scala: *scala_version_212 - &jvm_tests stage: test env: TEST="JVM tests" script: sbt ++$TRAVIS_SCALA_VERSION! buildJVM bench/test - scala: *scala_version_211 - - <<: *jvm_tests scala: *scala_version_212 - <<: *jvm_tests scala: *scala_version_213 @@ -65,12 +60,9 @@ jobs: env: TEST="scalafix" script: cd scalafix && sbt tests/test - - &bincompat_check - stage: test + - stage: test env: TEST="binary compatibility" script: sbt ++$TRAVIS_SCALA_VERSION! validateBC - scala: *scala_version_211 - - <<: *bincompat_check scala: *scala_version_212 - stage: styling diff --git a/alleycats-core/src/main/scala-2.12-/alleycats/compat/IterableEmptyInstance.scala b/alleycats-core/src/main/scala-2.12/alleycats/compat/IterableEmptyInstance.scala similarity index 100% rename from alleycats-core/src/main/scala-2.12-/alleycats/compat/IterableEmptyInstance.scala rename to alleycats-core/src/main/scala-2.12/alleycats/compat/IterableEmptyInstance.scala diff --git a/alleycats-core/src/main/scala-2.12-/alleycats/compat/scalaVersionSpecific.scala b/alleycats-core/src/main/scala-2.12/alleycats/compat/scalaVersionSpecific.scala similarity index 100% rename from alleycats-core/src/main/scala-2.12-/alleycats/compat/scalaVersionSpecific.scala rename to alleycats-core/src/main/scala-2.12/alleycats/compat/scalaVersionSpecific.scala diff --git a/bench/src/main/scala-2.12-/cats/bench/ChainBench.scala b/bench/src/main/scala-2.12/cats/bench/ChainBench.scala similarity index 100% rename from bench/src/main/scala-2.12-/cats/bench/ChainBench.scala rename to bench/src/main/scala-2.12/cats/bench/ChainBench.scala diff --git a/bench/src/main/scala-2.12-/cats/bench/CollectionMonoidBench.scala b/bench/src/main/scala-2.12/cats/bench/CollectionMonoidBench.scala similarity index 100% rename from bench/src/main/scala-2.12-/cats/bench/CollectionMonoidBench.scala rename to bench/src/main/scala-2.12/cats/bench/CollectionMonoidBench.scala diff --git a/bench/src/main/scala-2.12-/cats/bench/MapMonoidBench.scala b/bench/src/main/scala-2.12/cats/bench/MapMonoidBench.scala similarity index 100% rename from bench/src/main/scala-2.12-/cats/bench/MapMonoidBench.scala rename to bench/src/main/scala-2.12/cats/bench/MapMonoidBench.scala diff --git a/build.sbt b/build.sbt index 45a76efc40..609db0bea1 100644 --- a/build.sbt +++ b/build.sbt @@ -50,8 +50,6 @@ def scalaVersionSpecificFolders(srcName: String, srcBaseDir: java.io.File, scala List(CrossType.Pure, CrossType.Full) .flatMap(_.sharedSrcDir(srcBaseDir, srcName).toList.map(f => file(f.getPath + suffix))) CrossVersion.partialVersion(scalaVersion) match { - case Some((2, y)) if y <= 12 => - extraDirs("-2.12-") case Some((2, y)) if y >= 13 => extraDirs("-2.13+") case _ => Nil @@ -82,7 +80,7 @@ lazy val commonSettings = commonScalaVersionSettings ++ Seq( val docSource = (sources in (Compile, doc)).value if (priorTo2_13(scalaVersion.value)) docSource else Nil } -) ++ warnUnusedImport ++ update2_12 ++ xlint +) ++ warnUnusedImport def macroDependencies(scalaVersion: String) = CrossVersion.partialVersion(scalaVersion) match { @@ -152,11 +150,6 @@ lazy val commonJvmSettings = Seq( Test / javaOptions := Seq("-Xmx3G") ) -lazy val commonNativeSettings = Seq( - scalaVersion := "2.11.12", // TODO: load scala version form .travis.yml: https://github.com/dwijnand/sbt-travisci/issues/11 - crossScalaVersions := Seq("2.11.12") -) - lazy val includeGeneratedSrc: Setting[_] = { mappings in (Compile, packageSrc) ++= { val base = (sourceManaged in Compile).value @@ -788,7 +781,7 @@ addCommandAlias("validateKernelJS", "kernelLawsJS/test") addCommandAlias("validateFreeJS", "freeJS/test") //separated due to memory constraint on travis addCommandAlias("validate", ";clean;validateJS;validateKernelJS;validateFreeJS;validateJVM") -addCommandAlias("prePR", ";fmt;++2.11.12 mimaReportBinaryIssues") +addCommandAlias("prePR", "fmt") //////////////////////////////////////////////////////////////////////////////////////////////////// // Base Build Settings - Should not need to edit below this line. @@ -827,7 +820,8 @@ def commonScalacOptions(scalaVersion: String) = "-Ywarn-numeric-widen", "-Ywarn-value-discard", "-Xfatal-warnings", - "-deprecation" + "-deprecation", + "-Xlint:-unused,_" ) ++ (if (priorTo2_13(scalaVersion)) Seq( "-Yno-adapted-args", @@ -878,15 +872,7 @@ lazy val sharedReleaseProcess = Seq( ) lazy val warnUnusedImport = Seq( - scalacOptions ++= { - CrossVersion.partialVersion(scalaVersion.value) match { - case Some((2, 11)) => - Seq("-Ywarn-unused-import") - case Some((2, n)) if n >= 12 => - Seq("-Ywarn-unused:imports") - - } - }, + scalacOptions ++= Seq("-Ywarn-unused:imports"), scalacOptions in (Compile, console) ~= { _.filterNot(Set("-Ywarn-unused-import", "-Ywarn-unused:imports")) }, scalacOptions in (Test, console) := (scalacOptions in (Compile, console)).value ) @@ -898,21 +884,3 @@ lazy val credentialSettings = Seq( password <- Option(System.getenv().get("SONATYPE_PASSWORD")) } yield Credentials("Sonatype Nexus Repository Manager", "oss.sonatype.org", username, password)).toSeq ) - -lazy val update2_12 = Seq( - scalacOptions -= { - CrossVersion.partialVersion(scalaVersion.value) match { - case Some((2, scalaMajor)) if scalaMajor >= 12 => "-Yinline-warnings" - case _ => "" - } - } -) - -lazy val xlint = Seq( - scalacOptions += { - CrossVersion.partialVersion(scalaVersion.value) match { - case Some((2, scalaMajor)) if scalaMajor >= 12 => "-Xlint:-unused,_" - case _ => "-Xlint" - } - } -) diff --git a/core/src/main/scala-2.12-/cats/compat/SortedSet.scala b/core/src/main/scala-2.12/cats/compat/SortedSet.scala similarity index 100% rename from core/src/main/scala-2.12-/cats/compat/SortedSet.scala rename to core/src/main/scala-2.12/cats/compat/SortedSet.scala diff --git a/core/src/main/scala-2.12-/cats/data/OneAndLowPriority4.scala b/core/src/main/scala-2.12/cats/data/OneAndLowPriority4.scala similarity index 100% rename from core/src/main/scala-2.12-/cats/data/OneAndLowPriority4.scala rename to core/src/main/scala-2.12/cats/data/OneAndLowPriority4.scala diff --git a/core/src/main/scala-2.12-/cats/data/ScalaVersionSpecificPackage.scala b/core/src/main/scala-2.12/cats/data/ScalaVersionSpecificPackage.scala similarity index 100% rename from core/src/main/scala-2.12-/cats/data/ScalaVersionSpecificPackage.scala rename to core/src/main/scala-2.12/cats/data/ScalaVersionSpecificPackage.scala diff --git a/core/src/main/scala-2.12-/cats/data/ZipStream.scala b/core/src/main/scala-2.12/cats/data/ZipStream.scala similarity index 100% rename from core/src/main/scala-2.12-/cats/data/ZipStream.scala rename to core/src/main/scala-2.12/cats/data/ZipStream.scala diff --git a/core/src/main/scala-2.12-/cats/instances/ScalaVersionSpecificParallelInstances.scala b/core/src/main/scala-2.12/cats/instances/ScalaVersionSpecificParallelInstances.scala similarity index 100% rename from core/src/main/scala-2.12-/cats/instances/ScalaVersionSpecificParallelInstances.scala rename to core/src/main/scala-2.12/cats/instances/ScalaVersionSpecificParallelInstances.scala diff --git a/core/src/main/scala-2.12-/cats/instances/all.scala b/core/src/main/scala-2.12/cats/instances/all.scala similarity index 100% rename from core/src/main/scala-2.12-/cats/instances/all.scala rename to core/src/main/scala-2.12/cats/instances/all.scala diff --git a/core/src/main/scala-2.12-/cats/instances/package.scala b/core/src/main/scala-2.12/cats/instances/package.scala similarity index 100% rename from core/src/main/scala-2.12-/cats/instances/package.scala rename to core/src/main/scala-2.12/cats/instances/package.scala diff --git a/core/src/main/scala-2.12-/cats/instances/stream.scala b/core/src/main/scala-2.12/cats/instances/stream.scala similarity index 100% rename from core/src/main/scala-2.12-/cats/instances/stream.scala rename to core/src/main/scala-2.12/cats/instances/stream.scala diff --git a/core/src/main/scala/cats/Inject.scala b/core/src/main/scala/cats/Inject.scala index 3fc892395b..3433246451 100644 --- a/core/src/main/scala/cats/Inject.scala +++ b/core/src/main/scala/cats/Inject.scala @@ -1,7 +1,5 @@ package cats -import kernel.compat.scalaVersionMoreSpecific._ - /** * Inject is a type class providing an injection from type `A` into * type `B`. An injection is a function `inj` which does not destroy @@ -27,7 +25,6 @@ abstract class Inject[A, B] { final def unapply(b: B): Option[A] = prj(b) } -@suppressUnusedImportWarningForScalaVersionMoreSpecific sealed abstract private[cats] class InjectInstances { implicit def catsReflexiveInjectInstance[A]: Inject[A, A] = new Inject[A, A] { diff --git a/core/src/main/scala/cats/InjectK.scala b/core/src/main/scala/cats/InjectK.scala index 2580a18b87..4e65292374 100644 --- a/core/src/main/scala/cats/InjectK.scala +++ b/core/src/main/scala/cats/InjectK.scala @@ -2,7 +2,6 @@ package cats import cats.arrow.FunctionK import cats.data.EitherK -import kernel.compat.scalaVersionMoreSpecific._ /** * InjectK is a type class providing an injection from type @@ -33,7 +32,6 @@ abstract class InjectK[F[_], G[_]] { final def unapply[A](ga: G[A]): Option[F[A]] = prj(ga) } -@suppressUnusedImportWarningForScalaVersionMoreSpecific sealed abstract private[cats] class InjectKInstances { implicit def catsReflexiveInjectKInstance[F[_]]: InjectK[F, F] = new InjectK[F, F] { diff --git a/kernel/src/main/scala-2.11/cats/kernel/compat/scalaVersionMoreSpecific.scala b/kernel/src/main/scala-2.11/cats/kernel/compat/scalaVersionMoreSpecific.scala deleted file mode 100644 index 3632c6036e..0000000000 --- a/kernel/src/main/scala-2.11/cats/kernel/compat/scalaVersionMoreSpecific.scala +++ /dev/null @@ -1,16 +0,0 @@ -package cats.kernel.compat -import scala.annotation.{Annotation, StaticAnnotation} - -private[cats] object scalaVersionMoreSpecific { - implicit def toEitherExtensionOps[A, B](either: Either[A, B]): EitherExtensionOps[A, B] = - new EitherExtensionOps(either) - - class EitherExtensionOps[A, B](val either: Either[A, B]) extends AnyVal { - @inline def toOption: Option[B] = either.right.toOption - } - - /** - * a trick to suppress unused import warning for this object - */ - class suppressUnusedImportWarningForScalaVersionMoreSpecific extends Annotation with StaticAnnotation -} diff --git a/kernel/src/main/scala-2.12-/cats/kernel/compat/HashCompat.scala b/kernel/src/main/scala-2.12/cats/kernel/compat/HashCompat.scala similarity index 100% rename from kernel/src/main/scala-2.12-/cats/kernel/compat/HashCompat.scala rename to kernel/src/main/scala-2.12/cats/kernel/compat/HashCompat.scala diff --git a/kernel/src/main/scala-2.12-/cats/kernel/compat/TraversableOnce.scala b/kernel/src/main/scala-2.12/cats/kernel/compat/TraversableOnce.scala similarity index 100% rename from kernel/src/main/scala-2.12-/cats/kernel/compat/TraversableOnce.scala rename to kernel/src/main/scala-2.12/cats/kernel/compat/TraversableOnce.scala diff --git a/kernel/src/main/scala-2.12-/cats/kernel/compat/WrappedMutableMapBase.scala b/kernel/src/main/scala-2.12/cats/kernel/compat/WrappedMutableMapBase.scala similarity index 100% rename from kernel/src/main/scala-2.12-/cats/kernel/compat/WrappedMutableMapBase.scala rename to kernel/src/main/scala-2.12/cats/kernel/compat/WrappedMutableMapBase.scala diff --git a/kernel/src/main/scala-2.12/cats/kernel/compat/scalaVersionMoreSpecific.scala b/kernel/src/main/scala-2.12/cats/kernel/compat/scalaVersionMoreSpecific.scala deleted file mode 100644 index 5f8c6aec2a..0000000000 --- a/kernel/src/main/scala-2.12/cats/kernel/compat/scalaVersionMoreSpecific.scala +++ /dev/null @@ -1,10 +0,0 @@ -package cats.kernel.compat -import scala.annotation.{Annotation, StaticAnnotation} - -private[cats] object scalaVersionMoreSpecific { - - /** - * a trick to suppress unused import warning for this object - */ - class suppressUnusedImportWarningForScalaVersionMoreSpecific extends Annotation with StaticAnnotation -} diff --git a/kernel/src/main/scala-2.12-/cats/kernel/compat/scalaVersionSpecific.scala b/kernel/src/main/scala-2.12/cats/kernel/compat/scalaVersionSpecific.scala similarity index 100% rename from kernel/src/main/scala-2.12-/cats/kernel/compat/scalaVersionSpecific.scala rename to kernel/src/main/scala-2.12/cats/kernel/compat/scalaVersionSpecific.scala diff --git a/kernel/src/main/scala-2.12-/cats/kernel/instances/AllInstances.scala b/kernel/src/main/scala-2.12/cats/kernel/instances/AllInstances.scala similarity index 100% rename from kernel/src/main/scala-2.12-/cats/kernel/instances/AllInstances.scala rename to kernel/src/main/scala-2.12/cats/kernel/instances/AllInstances.scala diff --git a/kernel/src/main/scala-2.12-/cats/kernel/instances/StreamInstances.scala b/kernel/src/main/scala-2.12/cats/kernel/instances/StreamInstances.scala similarity index 100% rename from kernel/src/main/scala-2.12-/cats/kernel/instances/StreamInstances.scala rename to kernel/src/main/scala-2.12/cats/kernel/instances/StreamInstances.scala diff --git a/laws/src/main/scala-2.12-/cats/laws/discipline/ScalaVersionSpecific.scala b/laws/src/main/scala-2.12/cats/laws/discipline/ScalaVersionSpecific.scala similarity index 100% rename from laws/src/main/scala-2.12-/cats/laws/discipline/ScalaVersionSpecific.scala rename to laws/src/main/scala-2.12/cats/laws/discipline/ScalaVersionSpecific.scala diff --git a/tests/src/test/scala/cats/tests/ChainSuite.scala b/tests/src/test/scala/cats/tests/ChainSuite.scala index 4d17d3d7bb..ea7de72845 100644 --- a/tests/src/test/scala/cats/tests/ChainSuite.scala +++ b/tests/src/test/scala/cats/tests/ChainSuite.scala @@ -256,7 +256,7 @@ class ChainSuite extends CatsSuite { test("Chain#get is consistent with List#lift") { forAll { (x: Chain[Int], idx: Int) => - x.get(idx) should ===(x.toList.lift(idx)) + x.get(idx.toLong) should ===(x.toList.lift(idx)) } } diff --git a/tests/src/test/scala/cats/tests/EitherSuite.scala b/tests/src/test/scala/cats/tests/EitherSuite.scala index 55d332eaa2..7c69c99d91 100644 --- a/tests/src/test/scala/cats/tests/EitherSuite.scala +++ b/tests/src/test/scala/cats/tests/EitherSuite.scala @@ -346,7 +346,7 @@ class EitherSuite extends CatsSuite { test("raiseOrPure syntax consistent with fromEither") { val ev = ApplicativeError[Validated[String, *], String] forAll { (fa: Either[String, Int]) => - fa.raiseOrPure[Validated[String, *]] should ===(ev.fromEither(fa)) + fa.liftTo[Validated[String, *]] should ===(ev.fromEither(fa)) } } From aac4f70dac3d1704e71b3d7f02655055b76bae1e Mon Sep 17 00:00:00 2001 From: Kailuo Wang Date: Tue, 10 Sep 2019 13:27:58 -0400 Subject: [PATCH 2/6] fixing one test --- .../cats/kernel/laws/ScalaVersionSpecificTests.scala | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename kernel-laws/shared/src/test/{scala-2.12- => scala-2.12}/cats/kernel/laws/ScalaVersionSpecificTests.scala (100%) diff --git a/kernel-laws/shared/src/test/scala-2.12-/cats/kernel/laws/ScalaVersionSpecificTests.scala b/kernel-laws/shared/src/test/scala-2.12/cats/kernel/laws/ScalaVersionSpecificTests.scala similarity index 100% rename from kernel-laws/shared/src/test/scala-2.12-/cats/kernel/laws/ScalaVersionSpecificTests.scala rename to kernel-laws/shared/src/test/scala-2.12/cats/kernel/laws/ScalaVersionSpecificTests.scala From b7c071aed14339e7cf2a8af8fcb0be00b5aa4a4a Mon Sep 17 00:00:00 2001 From: Kailuo Wang Date: Tue, 10 Sep 2019 14:02:15 -0400 Subject: [PATCH 3/6] fix missed rename --- .../cats/tests/NonEmptyStreamSuite.scala | 0 .../cats/tests/ScalaVersionSpecific.scala | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename tests/src/test/{scala-2.12- => scala-2.12}/cats/tests/NonEmptyStreamSuite.scala (100%) rename tests/src/test/{scala-2.12- => scala-2.12}/cats/tests/ScalaVersionSpecific.scala (100%) diff --git a/tests/src/test/scala-2.12-/cats/tests/NonEmptyStreamSuite.scala b/tests/src/test/scala-2.12/cats/tests/NonEmptyStreamSuite.scala similarity index 100% rename from tests/src/test/scala-2.12-/cats/tests/NonEmptyStreamSuite.scala rename to tests/src/test/scala-2.12/cats/tests/NonEmptyStreamSuite.scala diff --git a/tests/src/test/scala-2.12-/cats/tests/ScalaVersionSpecific.scala b/tests/src/test/scala-2.12/cats/tests/ScalaVersionSpecific.scala similarity index 100% rename from tests/src/test/scala-2.12-/cats/tests/ScalaVersionSpecific.scala rename to tests/src/test/scala-2.12/cats/tests/ScalaVersionSpecific.scala From d795a5122f96c8a816ad890714c5034295c638e7 Mon Sep 17 00:00:00 2001 From: Kailuo Wang Date: Tue, 10 Sep 2019 16:22:23 -0400 Subject: [PATCH 4/6] BC check --- binCompatTest/src/main/scala/catsBC/MimaExceptions.scala | 4 +++- build.sbt | 8 +++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/binCompatTest/src/main/scala/catsBC/MimaExceptions.scala b/binCompatTest/src/main/scala/catsBC/MimaExceptions.scala index 5ff5e33444..91bcae72be 100644 --- a/binCompatTest/src/main/scala/catsBC/MimaExceptions.scala +++ b/binCompatTest/src/main/scala/catsBC/MimaExceptions.scala @@ -1,4 +1,5 @@ package catsBC +import cats.InjectK import cats.implicits._ object MimaExceptions { @@ -27,6 +28,7 @@ object MimaExceptions { true.iterateUntilM(Option(_))(identity _), Either.catchOnly[NumberFormatException] { "foo".toInt }, (1.validNel[String], 2.validNel[String], 3.validNel[String]) mapN (_ + _ + _), - (1.asRight[String], 2.asRight[String], 3.asRight[String]) parMapN (_ + _ + _) + (1.asRight[String], 2.asRight[String], 3.asRight[String]) parMapN (_ + _ + _), + InjectK.catsReflexiveInjectKInstance[Option] ) } diff --git a/build.sbt b/build.sbt index 609db0bea1..7f82130065 100644 --- a/build.sbt +++ b/build.sbt @@ -391,7 +391,13 @@ def mimaSettings(moduleName: String) = exclude[MissingTypesProblem]("cats.arrow.FunctionKMacros$"), exclude[IncompatibleMethTypeProblem]("cats.arrow.FunctionKMacros#Lifter.this"), exclude[IncompatibleResultTypeProblem]("cats.arrow.FunctionKMacros#Lifter.c") - ) + ) ++ //package private classes no longer needed + Seq( + exclude[MissingClassProblem]("cats.kernel.compat.scalaVersionMoreSpecific$"), + exclude[MissingClassProblem]("cats.kernel.compat.scalaVersionMoreSpecific"), + exclude[MissingClassProblem]("cats.kernel.compat.scalaVersionMoreSpecific$suppressUnusedImportWarningForScalaVersionMoreSpecific") + ) + } ) From ae1926ab25d054a300ccdd55a3f610b09e66fc96 Mon Sep 17 00:00:00 2001 From: Kailuo Wang Date: Tue, 10 Sep 2019 16:57:06 -0400 Subject: [PATCH 5/6] format --- build.sbt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/build.sbt b/build.sbt index 7f82130065..6f734aca3a 100644 --- a/build.sbt +++ b/build.sbt @@ -395,8 +395,10 @@ def mimaSettings(moduleName: String) = Seq( exclude[MissingClassProblem]("cats.kernel.compat.scalaVersionMoreSpecific$"), exclude[MissingClassProblem]("cats.kernel.compat.scalaVersionMoreSpecific"), - exclude[MissingClassProblem]("cats.kernel.compat.scalaVersionMoreSpecific$suppressUnusedImportWarningForScalaVersionMoreSpecific") - ) + exclude[MissingClassProblem]( + "cats.kernel.compat.scalaVersionMoreSpecific$suppressUnusedImportWarningForScalaVersionMoreSpecific" + ) + ) } ) From a01c226253b67d9cc24126a859b85aa31591bbcc Mon Sep 17 00:00:00 2001 From: "Kai(luo) Wang" Date: Fri, 13 Sep 2019 09:26:34 -0400 Subject: [PATCH 6/6] added back deprecated tests --- tests/src/test/scala/cats/tests/EitherSuite.scala | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tests/src/test/scala/cats/tests/EitherSuite.scala b/tests/src/test/scala/cats/tests/EitherSuite.scala index 7c69c99d91..7dff18ad7e 100644 --- a/tests/src/test/scala/cats/tests/EitherSuite.scala +++ b/tests/src/test/scala/cats/tests/EitherSuite.scala @@ -343,7 +343,7 @@ class EitherSuite extends CatsSuite { } } - test("raiseOrPure syntax consistent with fromEither") { + test("liftTo syntax consistent with fromEither") { val ev = ApplicativeError[Validated[String, *], String] forAll { (fa: Either[String, Int]) => fa.liftTo[Validated[String, *]] should ===(ev.fromEither(fa)) @@ -363,3 +363,13 @@ class EitherSuite extends CatsSuite { } } + +@deprecated("To test deprecated methods", "2.1.0") +class DeprecatedEitherSuite extends CatsSuite { + test("raiseOrPure syntax consistent with fromEither") { + val ev = ApplicativeError[Validated[String, *], String] + forAll { (fa: Either[String, Int]) => + fa.raiseOrPure[Validated[String, *]] should ===(ev.fromEither(fa)) + } + } +}