@@ -387,7 +387,7 @@ final class NonEmptyVector[+A] private (val toVector: Vector[A])
387
387
}
388
388
389
389
@ suppressUnusedImportWarningForScalaVersionSpecific
390
- sealed abstract private [data] class NonEmptyVectorInstances {
390
+ sealed abstract private [data] class NonEmptyVectorInstances extends NonEmptyVectorInstances0 {
391
391
392
392
@ deprecated(
393
393
" maintained for the sake of binary compatibility only - use catsDataInstancesForNonEmptyChainBinCompat1 instead" ,
@@ -564,7 +564,11 @@ sealed abstract private[data] class NonEmptyVectorInstances {
564
564
NonEmptyVector .fromVectorUnsafe(Align [Vector ].alignWith(fa.toVector, fb.toVector)(f))
565
565
}
566
566
567
- implicit def catsDataEqForNonEmptyVector [A : Eq ]: Eq [NonEmptyVector [A ]] = _ === _
567
+ implicit def catsDataOrderForNonEmptyVector [A : Order ]: Order [NonEmptyVector [A ]] =
568
+ new Order [NonEmptyVector [A ]] {
569
+ override def compare (x : NonEmptyVector [A ], y : NonEmptyVector [A ]): Int =
570
+ Order [Vector [A ]].compare(x.toVector, y.toVector)
571
+ }
568
572
569
573
implicit def catsDataShowForNonEmptyVector [A : Show ]: Show [NonEmptyVector [A ]] = _.show
570
574
@@ -637,3 +641,17 @@ object NonEmptyVector extends NonEmptyVectorInstances with Serializable {
637
641
implicit def catsDataEqForZipNonEmptyVector [A : Eq ]: Eq [ZipNonEmptyVector [A ]] = Eq .by(_.value)
638
642
}
639
643
}
644
+
645
+ sealed abstract private [data] class NonEmptyVectorInstances0 extends NonEmptyVectorInstances1 {
646
+ implicit def catsDataPartialOrderForNonEmptyVector [A : PartialOrder ]: PartialOrder [NonEmptyVector [A ]] =
647
+ PartialOrder .by[NonEmptyVector [A ], Vector [A ]](_.toVector)
648
+ }
649
+
650
+ sealed abstract private [data] class NonEmptyVectorInstances1 extends NonEmptyVectorInstances2 {
651
+ implicit def catsDataHashForNonEmptyVector [A : Hash ]: Hash [NonEmptyVector [A ]] =
652
+ Hash .by(_.toVector)
653
+ }
654
+
655
+ sealed abstract private [data] class NonEmptyVectorInstances2 {
656
+ implicit def catsDataEqForNonEmptyVector [A : Eq ]: Eq [NonEmptyVector [A ]] = _ === _
657
+ }
0 commit comments