Equiv

object Equiv extends LowPriorityEquiv
Companion:
class
Source:
Equiv.scala
class Object
trait Matchable
class Any
Equiv.type

Type members

Classlikes

object BigDecimal extends Equiv[BigDecimal]
object BigInt extends Equiv[BigInt]
object Boolean extends Equiv[Boolean]
object Byte extends Equiv[Byte]
object Char extends Equiv[Char]
@migration(" The default implicit equivalence for doubles no longer conforms to\n".+(" to IEEE 754\'s behavior for -0.0D and NaN.\n").+(" Import `Equiv.Double.IeeeEquiv` to recover the previous behavior.\n").+(" See also https://www.scala-lang.org/api/current/scala/math/Equiv$$Double$.html."), "2.13.2")
@migration(" The default implicit equivalence for floats no longer conforms to\n".+(" to IEEE 754\'s behavior for -0.0F and NaN.\n").+(" Import `Equiv.Float.IeeeEquiv` to recover the previous behavior.\n").+(" See also https://www.scala-lang.org/api/current/scala/math/Equiv$$Float$.html."), "2.13.2")
object Double

Equivs for Doubles.

Equivs for Doubles.

Source:
Equiv.scala
object Float

Equivs for Floats.

Equivs for Floats.

Source:
Equiv.scala
object Implicits extends ExtraImplicits

An object containing implicits which are not in the default scope.

An object containing implicits which are not in the default scope.

Source:
Equiv.scala
object Int extends Equiv[Int]
object Long extends Equiv[Long]
object Short extends Equiv[Short]
object String extends Equiv[String]
object Symbol extends Equiv[Symbol]
object Unit extends Equiv[Unit]

Value members

Concrete methods

def apply[T : Equiv]: Equiv[T]
def by[T, S : Equiv](f: T => S): Equiv[T]
def fromComparator[T](cmp: Comparator[T]): Equiv[T]
def fromFunction[T](cmp: (T, T) => Boolean): Equiv[T]
def reference[T <: AnyRef]: Equiv[T]
def universal[T]: Equiv[T]

Implicits

Implicits

implicit def Option[T](implicit eqv: Equiv[T]): Equiv[Option[T]]
implicit def Tuple2[T1, T2](implicit eqv1: Equiv[T1], eqv2: Equiv[T2]): Equiv[(T1, T2)]
implicit def Tuple3[T1, T2, T3](implicit eqv1: Equiv[T1], eqv2: Equiv[T2], eqv3: Equiv[T3]): Equiv[(T1, T2, T3)]
implicit def Tuple4[T1, T2, T3, T4](implicit eqv1: Equiv[T1], eqv2: Equiv[T2], eqv3: Equiv[T3], eqv4: Equiv[T4]): Equiv[(T1, T2, T3, T4)]
implicit def Tuple5[T1, T2, T3, T4, T5](implicit eqv1: Equiv[T1], eqv2: Equiv[T2], eqv3: Equiv[T3], eqv4: Equiv[T4], eqv5: Equiv[T5]): Equiv[(T1, T2, T3, T4, T5)]
implicit def Tuple6[T1, T2, T3, T4, T5, T6](implicit eqv1: Equiv[T1], eqv2: Equiv[T2], eqv3: Equiv[T3], eqv4: Equiv[T4], eqv5: Equiv[T5], eqv6: Equiv[T6]): Equiv[(T1, T2, T3, T4, T5, T6)]
implicit def Tuple7[T1, T2, T3, T4, T5, T6, T7](implicit eqv1: Equiv[T1], eqv2: Equiv[T2], eqv3: Equiv[T3], eqv4: Equiv[T4], eqv5: Equiv[T5], eqv6: Equiv[T6], eqv7: Equiv[T7]): Equiv[(T1, T2, T3, T4, T5, T6, T7)]
implicit def Tuple8[T1, T2, T3, T4, T5, T6, T7, T8](implicit eqv1: Equiv[T1], eqv2: Equiv[T2], eqv3: Equiv[T3], eqv4: Equiv[T4], eqv5: Equiv[T5], eqv6: Equiv[T6], eqv7: Equiv[T7], eqv8: Equiv[T8]): Equiv[(T1, T2, T3, T4, T5, T6, T7, T8)]
implicit def Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9](implicit eqv1: Equiv[T1], eqv2: Equiv[T2], eqv3: Equiv[T3], eqv4: Equiv[T4], eqv5: Equiv[T5], eqv6: Equiv[T6], eqv7: Equiv[T7], eqv8: Equiv[T8], eqv9: Equiv[T9]): Equiv[(T1, T2, T3, T4, T5, T6, T7, T8, T9)]

Deprecated and Inherited implicits

@deprecated("Use explicit Equiv.universal instead. See Scaladoc entry for more information: ".+("https://www.scala-lang.org/api/current/scala/math/Equiv$.html#universalEquiv[T]:scala.math.Equiv[T]"), since = "2.13.0")
implicit def universalEquiv[T]: Equiv[T]
Deprecated
[Since version 2.13.0]

This implicit universal Equiv instance allows accidentally comparing instances of types for which equality isn't well-defined or implemented. (For example, it does not make sense to compare two Function1 instances.) Use Equiv.universal explicitly instead. If you really want an implicit universal Equiv instance despite the potential problems, consider implicit def universalEquiv[T]: Equiv[T] = universal[T].

Inherited from:
LowPriorityEquiv
Source:
Equiv.scala