@@ -6,46 +6,16 @@ import scala.collection.Seq
66
77/** unimplemented implicit for TypeTag */
88object DottyPredef {
9+
910 /** A fall-back implicit to compare values of any types.
1011 * The compiler will restrict implicit instances of `eqAny`. An instance
1112 * `eqAny[T, U]` is _valid_ if `T <: U` or `U <: T` or both `T` and `U` are
1213 * Eq-free. A type `S` is Eq-free if there is no implicit instance of `Eq[S, S]`.
1314 * An implicit search will fail instead of returning an invalid `eqAny` instance.
15+ * The method is here instead of the `Eq` object so that it can be disabled.
1416 */
1517 implicit def eqAny [L , R ]: Eq [L , R ] = Eq
1618
17- implicit def eqNumber : Eq [Number , Number ] = Eq
18- implicit def eqString : Eq [String , String ] = Eq
19- implicit def eqBoolean : Eq [Boolean , Boolean ] = Eq
20- implicit def eqByte : Eq [Byte , Byte ] = Eq
21- implicit def eqShort : Eq [Short , Short ] = Eq
22- implicit def eqChar : Eq [Char , Char ] = Eq
23- implicit def eqInt : Eq [Int , Int ] = Eq
24- implicit def eqLong : Eq [Long , Long ] = Eq
25- implicit def eqFloat : Eq [Float , Float ] = Eq
26- implicit def eqDouble : Eq [Double , Double ] = Eq
27- implicit def eqUnit : Eq [Unit , Unit ] = Eq
28-
29- // true asymmetry, modeling the (somewhat problematic) nature of equals on Proxies
30- implicit def eqProxy : Eq [Proxy , Any ] = Eq
31-
32- implicit def eqSeq [T , U ](implicit eq : Eq [T , U ]): Eq [Seq [T ], Seq [U ]] = Eq
33-
34- implicit def eqByteNum : Eq [Byte , Number ] = Eq
35- implicit def eqNumByte : Eq [Number , Byte ] = Eq
36- implicit def eqCharNum : Eq [Char , Number ] = Eq
37- implicit def eqNumChar : Eq [Number , Char ] = Eq
38- implicit def eqShortNum : Eq [Short , Number ] = Eq
39- implicit def eqNumShort : Eq [Number , Short ] = Eq
40- implicit def eqIntNum : Eq [Int , Number ] = Eq
41- implicit def eqNumInt : Eq [Number , Int ] = Eq
42- implicit def eqLongNum : Eq [Long , Number ] = Eq
43- implicit def eqNumLong : Eq [Number , Long ] = Eq
44- implicit def eqFloatNum : Eq [Float , Number ] = Eq
45- implicit def eqNumFloat : Eq [Number , Float ] = Eq
46- implicit def eqDoubleNum : Eq [Double , Number ] = Eq
47- implicit def eqNumDouble : Eq [Number , Double ] = Eq
48-
4919 /** A class for implicit values that can serve as implicit conversions
5020 * The implicit resolution algorithm will act as if there existed
5121 * the additional implicit definition:
0 commit comments