@@ -11,52 +11,52 @@ sealed trait Eq[-L, -R]
1111 * can also be used as a value that's compatible with
1212 * any instance of `Eq`.
1313 */
14- object Eq extends Eq [ Any , Any ] {
15- def derived : Eq [Any , Any ] = Eq
14+ object Eq {
15+ object derived extends Eq [Any , Any ]
1616
1717 /** A fall-back "implicit" to compare values of any types.
1818 * Even though this method is not declared implicit, the compiler will
1919 * compute instances as solutions to `Eq[T, U]` queries if `T <: U` or `U <: T`
2020 * or both `T` and `U` are Eq-free. A type `S` is Eq-free if there is no
2121 * implicit instance of type `Eq[S, S]`.
2222 */
23- def eqAny [L , R ]: Eq [L , R ] = Eq
23+ def eqAny [L , R ]: Eq [L , R ] = derived
2424
2525 // Instances of `Eq` for common types
2626
27- implicit def eqNumber : Eq [Number , Number ] = Eq
28- implicit def eqString : Eq [String , String ] = Eq
29- implicit def eqBoolean : Eq [Boolean , Boolean ] = Eq
30- implicit def eqByte : Eq [Byte , Byte ] = Eq
31- implicit def eqShort : Eq [Short , Short ] = Eq
32- implicit def eqChar : Eq [Char , Char ] = Eq
33- implicit def eqInt : Eq [Int , Int ] = Eq
34- implicit def eqLong : Eq [Long , Long ] = Eq
35- implicit def eqFloat : Eq [Float , Float ] = Eq
36- implicit def eqDouble : Eq [Double , Double ] = Eq
37- implicit def eqUnit : Eq [Unit , Unit ] = Eq
27+ implicit def eqNumber : Eq [Number , Number ] = derived
28+ implicit def eqString : Eq [String , String ] = derived
29+ implicit def eqBoolean : Eq [Boolean , Boolean ] = derived
30+ implicit def eqByte : Eq [Byte , Byte ] = derived
31+ implicit def eqShort : Eq [Short , Short ] = derived
32+ implicit def eqChar : Eq [Char , Char ] = derived
33+ implicit def eqInt : Eq [Int , Int ] = derived
34+ implicit def eqLong : Eq [Long , Long ] = derived
35+ implicit def eqFloat : Eq [Float , Float ] = derived
36+ implicit def eqDouble : Eq [Double , Double ] = derived
37+ implicit def eqUnit : Eq [Unit , Unit ] = derived
3838
3939 // true asymmetry, modeling the (somewhat problematic) nature of equals on Proxies
40- implicit def eqProxy : Eq [Proxy , Any ] = Eq
41-
42- implicit def eqSeq [T , U ](implicit eq : Eq [T , U ]): Eq [GenSeq [T ], GenSeq [U ]] = Eq
43- implicit def eqSet [T , U ](implicit eq : Eq [T , U ]): Eq [Set [T ], Set [U ]] = Eq
44-
45- implicit def eqByteNum : Eq [Byte , Number ] = Eq
46- implicit def eqNumByte : Eq [Number , Byte ] = Eq
47- implicit def eqCharNum : Eq [Char , Number ] = Eq
48- implicit def eqNumChar : Eq [Number , Char ] = Eq
49- implicit def eqShortNum : Eq [Short , Number ] = Eq
50- implicit def eqNumShort : Eq [Number , Short ] = Eq
51- implicit def eqIntNum : Eq [Int , Number ] = Eq
52- implicit def eqNumInt : Eq [Number , Int ] = Eq
53- implicit def eqLongNum : Eq [Long , Number ] = Eq
54- implicit def eqNumLong : Eq [Number , Long ] = Eq
55- implicit def eqFloatNum : Eq [Float , Number ] = Eq
56- implicit def eqNumFloat : Eq [Number , Float ] = Eq
57- implicit def eqDoubleNum : Eq [Double , Number ] = Eq
58- implicit def eqNumDouble : Eq [Number , Double ] = Eq
59-
60- implicit def eqSBoolJBool : Eq [Boolean , java.lang.Boolean ] = Eq
61- implicit def eqJBoolSBool : Eq [java.lang.Boolean , Boolean ] = Eq
40+ implicit def eqProxy : Eq [Proxy , Any ] = derived
41+
42+ implicit def eqSeq [T , U ](implicit eq : Eq [T , U ]): Eq [GenSeq [T ], GenSeq [U ]] = derived
43+ implicit def eqSet [T , U ](implicit eq : Eq [T , U ]): Eq [Set [T ], Set [U ]] = derived
44+
45+ implicit def eqByteNum : Eq [Byte , Number ] = derived
46+ implicit def eqNumByte : Eq [Number , Byte ] = derived
47+ implicit def eqCharNum : Eq [Char , Number ] = derived
48+ implicit def eqNumChar : Eq [Number , Char ] = derived
49+ implicit def eqShortNum : Eq [Short , Number ] = derived
50+ implicit def eqNumShort : Eq [Number , Short ] = derived
51+ implicit def eqIntNum : Eq [Int , Number ] = derived
52+ implicit def eqNumInt : Eq [Number , Int ] = derived
53+ implicit def eqLongNum : Eq [Long , Number ] = derived
54+ implicit def eqNumLong : Eq [Number , Long ] = derived
55+ implicit def eqFloatNum : Eq [Float , Number ] = derived
56+ implicit def eqNumFloat : Eq [Number , Float ] = derived
57+ implicit def eqDoubleNum : Eq [Double , Number ] = derived
58+ implicit def eqNumDouble : Eq [Number , Double ] = derived
59+
60+ implicit def eqSBoolJBool : Eq [Boolean , java.lang.Boolean ] = derived
61+ implicit def eqJBoolSBool : Eq [java.lang.Boolean , Boolean ] = derived
6262}
0 commit comments