@@ -5,17 +5,14 @@ object EqUtil {
55 final class PhantomEq [- L , - R ] private [EqUtil ]()
66 type PhantomEqEq [T ] = PhantomEq [T , T ]
77
8- implicit class EqualsDeco [T ](val x : T ) extends AnyVal {
9- def === [U ] (y : U ) (using erased ce : PhantomEq [T , U ]) = x.equals(y)
10- }
8+ extension [T ](x : T )
9+ def === [U ] (y : U ) (using erased PhantomEq [T , U ]) = x.equals(y)
1110
12- implicit erased def eqString : PhantomEqEq [String ] = new PhantomEq [String , String ]
13- implicit erased def eqInt : PhantomEqEq [Int ] = new PhantomEq [Int , Int ]
14- implicit erased def eqDouble : PhantomEqEq [Double ] = new PhantomEq [Double , Double ]
15-
16- implicit erased def eqByteNum : PhantomEq [Byte , Number ] = new PhantomEq [Byte , Number ]
17- implicit erased def eqNumByte : PhantomEq [Number , Byte ] = new PhantomEq [Number , Byte ]
18-
19- implicit erased def eqSeq [T , U ] (using erased eq : PhantomEq [T , U ]): PhantomEq [Seq [T ], Seq [U ]] =
11+ erased given eqString : PhantomEqEq [String ] = new PhantomEq [String , String ]
12+ erased given eqInt : PhantomEqEq [Int ] = new PhantomEq [Int , Int ]
13+ erased given eqDouble : PhantomEqEq [Double ] = new PhantomEq [Double , Double ]
14+ erased given eqByteNum : PhantomEq [Byte , Number ] = new PhantomEq [Byte , Number ]
15+ erased given eqNumByte : PhantomEq [Number , Byte ] = new PhantomEq [Number , Byte ]
16+ erased given eqSeq [T , U ] (using erased eq : PhantomEq [T , U ]): PhantomEq [Seq [T ], Seq [U ]] =
2017 new PhantomEq [Seq [T ], Seq [U ]]
2118}
0 commit comments