Skip to content

Commit

Permalink
Merge pull request #4204 from armanbilge/issue/3719
Browse files Browse the repository at this point in the history
Remove unnecessary MiMa filters
  • Loading branch information
armanbilge authored May 8, 2022
2 parents e25fb7d + c05afeb commit 1d48bc9
Showing 1 changed file with 85 additions and 103 deletions.
188 changes: 85 additions & 103 deletions mima.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -2,104 +2,91 @@ import com.typesafe.tools.mima.core.ProblemFilters._
import com.typesafe.tools.mima.core._

ThisBuild / mimaBinaryIssueFilters ++= {
// Only sealed abstract classes that provide implicit instances to companion objects are allowed here, since they don't affect usage outside of the file.
// These things are Ops classes that shouldn't have the `value` exposed. These should have never been public because they don't
// provide any value. Making them private because of issues like #2514 and #2613.
Seq(
exclude[DirectMissingMethodProblem]("cats.data.OptionTInstances2.catsDataTraverseForOptionT"),
exclude[DirectMissingMethodProblem]("cats.data.KleisliInstances1.catsDataCommutativeArrowForKleisliId"),
exclude[DirectMissingMethodProblem]("cats.data.OptionTInstances1.catsDataMonoidKForOptionT"),
exclude[DirectMissingMethodProblem]("cats.data.OptionTInstances0.catsDataMonoidForOptionT"),
exclude[DirectMissingMethodProblem]("cats.data.KleisliInstances0.catsDataMonadForKleisliId"),
exclude[DirectMissingMethodProblem]("cats.data.KleisliInstances1.catsDataCommutativeArrowForKleisli"),
exclude[DirectMissingMethodProblem]("cats.data.KleisliInstances4.catsDataCommutativeFlatMapForKleisli"),
exclude[DirectMissingMethodProblem]("cats.data.IRWSTInstances1.catsDataStrongForIRWST"),
exclude[DirectMissingMethodProblem]("cats.data.OptionTInstances1.catsDataMonadErrorMonadForOptionT"),
exclude[DirectMissingMethodProblem]("cats.data.OptionTInstances1.catsDataMonadErrorForOptionT")
) ++
// These things are Ops classes that shouldn't have the `value` exposed. These should have never been public because they don't
// provide any value. Making them private because of issues like #2514 and #2613.
Seq(
exclude[DirectMissingMethodProblem]("cats.ApplicativeError#LiftFromOptionPartially.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.Const#OfPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.EitherT#CondPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.EitherT#FromEitherPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.EitherT#FromOptionPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.EitherT#LeftPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.EitherT#LeftTPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.EitherT#PurePartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.EitherT#RightPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.IorT#BothTPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.IorT#CondPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.IorT#FromEitherPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.IorT#FromIorPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.IorT#FromOptionPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.IorT#LeftPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.IorT#LeftTPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.IorT#PurePartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.IorT#RightPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.NonEmptyChainOps.value"),
exclude[DirectMissingMethodProblem]("cats.data.OptionT#FromOptionPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.OptionT#PurePartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.Validated#CatchOnlyPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.free.Free#FreeInjectKPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.free.Free#FreeLiftInjectKPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.free.FreeT#FreeTLiftInjectKPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.syntax.ApplicativeErrorIdOps.e"),
exclude[DirectMissingMethodProblem]("cats.syntax.ApplicativeErrorOps.fa"),
exclude[DirectMissingMethodProblem]("cats.syntax.ApplicativeIdOps.a"),
exclude[DirectMissingMethodProblem]("cats.syntax.ApplicativeOps.fa"),
exclude[DirectMissingMethodProblem]("cats.syntax.ApplyOps.fa"),
exclude[DirectMissingMethodProblem]("cats.syntax.BinestedIdOps.value"),
exclude[DirectMissingMethodProblem]("cats.syntax.BitraverseOps.fab"),
exclude[DirectMissingMethodProblem]("cats.syntax.DistributiveOps.fa"),
exclude[DirectMissingMethodProblem]("cats.syntax.EitherIdOps.obj"),
exclude[DirectMissingMethodProblem]("cats.syntax.EitherIdOpsBinCompat0.value"),
exclude[DirectMissingMethodProblem]("cats.syntax.EitherSyntax#CatchOnlyPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.syntax.EitherKOps.fa"),
exclude[DirectMissingMethodProblem]("cats.syntax.EitherObjectOps.either"),
exclude[DirectMissingMethodProblem]("cats.syntax.EitherOps.eab"),
exclude[DirectMissingMethodProblem]("cats.syntax.EitherOpsBinCompat0.value"),
exclude[DirectMissingMethodProblem]("cats.syntax.FlatMapIdOps.a"),
exclude[DirectMissingMethodProblem]("cats.syntax.FlatMapOps.fa"),
exclude[DirectMissingMethodProblem]("cats.syntax.FlatMapOptionOps.fopta"),
exclude[DirectMissingMethodProblem]("cats.syntax.FlattenOps.ffa"),
exclude[DirectMissingMethodProblem]("cats.syntax.FoldableOps.fa"),
exclude[DirectMissingMethodProblem]("cats.syntax.GuardOps.condition"),
exclude[DirectMissingMethodProblem]("cats.syntax.IfMOps.fa"),
exclude[DirectMissingMethodProblem]("cats.syntax.IndexOps.fa"),
exclude[DirectMissingMethodProblem]("cats.syntax.IorIdOps.a"),
exclude[DirectMissingMethodProblem]("cats.syntax.LeftOps.left"),
exclude[DirectMissingMethodProblem]("cats.syntax.ListOps.la"),
exclude[DirectMissingMethodProblem]("cats.syntax.ListOpsBinCompat0.la"),
exclude[DirectMissingMethodProblem]("cats.syntax.MonadErrorOps.fa"),
exclude[DirectMissingMethodProblem]("cats.syntax.MonadErrorRethrowOps.fea"),
exclude[DirectMissingMethodProblem]("cats.syntax.MonadIdOps.a"),
exclude[DirectMissingMethodProblem]("cats.syntax.MonadOps.fa"),
exclude[DirectMissingMethodProblem]("cats.syntax.MonoidOps.lhs"),
exclude[DirectMissingMethodProblem]("cats.syntax.NestedBitraverseOps.fgagb"),
exclude[DirectMissingMethodProblem]("cats.syntax.NestedFoldableOps.fga"),
exclude[DirectMissingMethodProblem]("cats.syntax.NestedIdOps.value"),
exclude[DirectMissingMethodProblem]("cats.syntax.NestedReducibleOps.fga"),
exclude[DirectMissingMethodProblem]("cats.syntax.OptionIdOps.a"),
exclude[DirectMissingMethodProblem]("cats.syntax.OptionOps.oa"),
exclude[DirectMissingMethodProblem]("cats.syntax.ParallelApOps.ma"),
exclude[DirectMissingMethodProblem]("cats.syntax.ParallelFlatSequenceOps.tmta"),
exclude[DirectMissingMethodProblem]("cats.syntax.ParallelFlatTraversableOps.ta"),
exclude[DirectMissingMethodProblem]("cats.syntax.ParallelSequence_Ops.tma"),
exclude[DirectMissingMethodProblem]("cats.syntax.ParallelSequenceOps.tma"),
exclude[DirectMissingMethodProblem]("cats.syntax.ParallelTraversable_Ops.ta"),
exclude[DirectMissingMethodProblem]("cats.syntax.ParallelTraversableOps.ta"),
exclude[DirectMissingMethodProblem]("cats.syntax.RightOps.right"),
exclude[DirectMissingMethodProblem]("cats.syntax.SeparateOps.fgab"),
exclude[DirectMissingMethodProblem]("cats.syntax.SetOps.se"),
exclude[DirectMissingMethodProblem]("cats.syntax.TabulateOps.f"),
exclude[DirectMissingMethodProblem]("cats.syntax.TryOps.self"),
exclude[DirectMissingMethodProblem]("cats.syntax.UniteOps.fga"),
exclude[DirectMissingMethodProblem]("cats.syntax.ValidatedExtension.self"),
exclude[DirectMissingMethodProblem]("cats.syntax.ValidatedIdOpsBinCompat0.a"),
exclude[DirectMissingMethodProblem]("cats.syntax.ValidatedIdSyntax.a"),
exclude[DirectMissingMethodProblem]("cats.syntax.VectorOps.va"),
exclude[DirectMissingMethodProblem]("cats.syntax.WriterIdSyntax.a")
) ++ // Only compile-time abstractions (macros) allowed here
exclude[DirectMissingMethodProblem]("cats.ApplicativeError#LiftFromOptionPartially.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.Const#OfPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.EitherT#CondPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.EitherT#FromEitherPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.EitherT#FromOptionPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.EitherT#LeftPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.EitherT#LeftTPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.EitherT#PurePartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.EitherT#RightPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.IorT#BothTPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.IorT#CondPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.IorT#FromEitherPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.IorT#FromIorPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.IorT#FromOptionPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.IorT#LeftPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.IorT#LeftTPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.IorT#PurePartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.IorT#RightPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.NonEmptyChainOps.value"),
exclude[DirectMissingMethodProblem]("cats.data.OptionT#FromOptionPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.OptionT#PurePartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.data.Validated#CatchOnlyPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.free.Free#FreeInjectKPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.free.Free#FreeLiftInjectKPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.free.FreeT#FreeTLiftInjectKPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.syntax.ApplicativeErrorIdOps.e"),
exclude[DirectMissingMethodProblem]("cats.syntax.ApplicativeErrorOps.fa"),
exclude[DirectMissingMethodProblem]("cats.syntax.ApplicativeIdOps.a"),
exclude[DirectMissingMethodProblem]("cats.syntax.ApplicativeOps.fa"),
exclude[DirectMissingMethodProblem]("cats.syntax.ApplyOps.fa"),
exclude[DirectMissingMethodProblem]("cats.syntax.BinestedIdOps.value"),
exclude[DirectMissingMethodProblem]("cats.syntax.BitraverseOps.fab"),
exclude[DirectMissingMethodProblem]("cats.syntax.DistributiveOps.fa"),
exclude[DirectMissingMethodProblem]("cats.syntax.EitherIdOps.obj"),
exclude[DirectMissingMethodProblem]("cats.syntax.EitherIdOpsBinCompat0.value"),
exclude[DirectMissingMethodProblem]("cats.syntax.EitherSyntax#CatchOnlyPartiallyApplied.dummy"),
exclude[DirectMissingMethodProblem]("cats.syntax.EitherKOps.fa"),
exclude[DirectMissingMethodProblem]("cats.syntax.EitherObjectOps.either"),
exclude[DirectMissingMethodProblem]("cats.syntax.EitherOps.eab"),
exclude[DirectMissingMethodProblem]("cats.syntax.EitherOpsBinCompat0.value"),
exclude[DirectMissingMethodProblem]("cats.syntax.FlatMapIdOps.a"),
exclude[DirectMissingMethodProblem]("cats.syntax.FlatMapOps.fa"),
exclude[DirectMissingMethodProblem]("cats.syntax.FlatMapOptionOps.fopta"),
exclude[DirectMissingMethodProblem]("cats.syntax.FlattenOps.ffa"),
exclude[DirectMissingMethodProblem]("cats.syntax.FoldableOps.fa"),
exclude[DirectMissingMethodProblem]("cats.syntax.GuardOps.condition"),
exclude[DirectMissingMethodProblem]("cats.syntax.IfMOps.fa"),
exclude[DirectMissingMethodProblem]("cats.syntax.IndexOps.fa"),
exclude[DirectMissingMethodProblem]("cats.syntax.IorIdOps.a"),
exclude[DirectMissingMethodProblem]("cats.syntax.LeftOps.left"),
exclude[DirectMissingMethodProblem]("cats.syntax.ListOps.la"),
exclude[DirectMissingMethodProblem]("cats.syntax.ListOpsBinCompat0.la"),
exclude[DirectMissingMethodProblem]("cats.syntax.MonadErrorOps.fa"),
exclude[DirectMissingMethodProblem]("cats.syntax.MonadErrorRethrowOps.fea"),
exclude[DirectMissingMethodProblem]("cats.syntax.MonadIdOps.a"),
exclude[DirectMissingMethodProblem]("cats.syntax.MonadOps.fa"),
exclude[DirectMissingMethodProblem]("cats.syntax.MonoidOps.lhs"),
exclude[DirectMissingMethodProblem]("cats.syntax.NestedBitraverseOps.fgagb"),
exclude[DirectMissingMethodProblem]("cats.syntax.NestedFoldableOps.fga"),
exclude[DirectMissingMethodProblem]("cats.syntax.NestedIdOps.value"),
exclude[DirectMissingMethodProblem]("cats.syntax.NestedReducibleOps.fga"),
exclude[DirectMissingMethodProblem]("cats.syntax.OptionIdOps.a"),
exclude[DirectMissingMethodProblem]("cats.syntax.OptionOps.oa"),
exclude[DirectMissingMethodProblem]("cats.syntax.ParallelApOps.ma"),
exclude[DirectMissingMethodProblem]("cats.syntax.ParallelFlatSequenceOps.tmta"),
exclude[DirectMissingMethodProblem]("cats.syntax.ParallelFlatTraversableOps.ta"),
exclude[DirectMissingMethodProblem]("cats.syntax.ParallelSequence_Ops.tma"),
exclude[DirectMissingMethodProblem]("cats.syntax.ParallelSequenceOps.tma"),
exclude[DirectMissingMethodProblem]("cats.syntax.ParallelTraversable_Ops.ta"),
exclude[DirectMissingMethodProblem]("cats.syntax.ParallelTraversableOps.ta"),
exclude[DirectMissingMethodProblem]("cats.syntax.RightOps.right"),
exclude[DirectMissingMethodProblem]("cats.syntax.SeparateOps.fgab"),
exclude[DirectMissingMethodProblem]("cats.syntax.SetOps.se"),
exclude[DirectMissingMethodProblem]("cats.syntax.TabulateOps.f"),
exclude[DirectMissingMethodProblem]("cats.syntax.TryOps.self"),
exclude[DirectMissingMethodProblem]("cats.syntax.UniteOps.fga"),
exclude[DirectMissingMethodProblem]("cats.syntax.ValidatedExtension.self"),
exclude[DirectMissingMethodProblem]("cats.syntax.ValidatedIdOpsBinCompat0.a"),
exclude[DirectMissingMethodProblem]("cats.syntax.ValidatedIdSyntax.a"),
exclude[DirectMissingMethodProblem]("cats.syntax.VectorOps.va"),
exclude[DirectMissingMethodProblem]("cats.syntax.WriterIdSyntax.a")
) ++ // Only compile-time abstractions (macros) allowed here
Seq(
exclude[IncompatibleMethTypeProblem]("cats.arrow.FunctionKMacros.lift"),
exclude[MissingTypesProblem]("cats.arrow.FunctionKMacros$"),
Expand All @@ -113,18 +100,13 @@ ThisBuild / mimaBinaryIssueFilters ++= {
exclude[MissingClassProblem](
"cats.kernel.compat.scalaVersionMoreSpecific$suppressUnusedImportWarningForScalaVersionMoreSpecific"
)
) ++ // Only narrowing of types allowed here
Seq(
exclude[IncompatibleSignatureProblem]("*")
) ++ // New issues found since mima 0.8.0 (#3596, #3641)
Seq(
exclude[NewMixinForwarderProblem]("cats.kernel.Band#mcI#sp.combineN"),
exclude[NewMixinForwarderProblem]("cats.kernel.Band#mcD#sp.combineN"),
exclude[NewMixinForwarderProblem]("cats.kernel.Band#mcJ#sp.combineN"),
exclude[NewMixinForwarderProblem]("cats.kernel.Band.combineN"),
exclude[NewMixinForwarderProblem]("cats.kernel.Band#mcF#sp.combineN"),
exclude[NewMixinForwarderProblem]("cats.data.Tuple2KApply.product"),
exclude[NewMixinForwarderProblem]("cats.InvariantInstances0.catsApplicativeForArrow")
exclude[NewMixinForwarderProblem]("cats.kernel.Band#mcF#sp.combineN")
) ++ // Additional methods in package-private traits
Seq(
exclude[ReversedMissingMethodProblem]("cats.data.NonEmptyCollection.grouped")
Expand Down

0 comments on commit 1d48bc9

Please sign in to comment.