@@ -17,7 +17,7 @@ object DistributiveProd extends DistributiveProdLowPriorityImplicits {
17
17
*/
18
18
def apply [A ](implicit distributiveProd : DistributiveProd [A ]): DistributiveProd [A ] = distributiveProd
19
19
20
- implicit val BigDecimalAnnihilationPartialDivideSubtract
20
+ implicit lazy val BigDecimalAnnihilationPartialDivideSubtract
21
21
: Annihilation [BigDecimal ] with PartialDivide [BigDecimal ] with Subtract [BigDecimal ] =
22
22
new Annihilation [BigDecimal ] with PartialDivide [BigDecimal ] with Subtract [BigDecimal ] {
23
23
override def sum (l : => BigDecimal , r : => BigDecimal ): BigDecimal = l + r
@@ -31,7 +31,7 @@ object DistributiveProd extends DistributiveProdLowPriorityImplicits {
31
31
Associative .BigDecimalProdCommutativePartialInverse
32
32
}
33
33
34
- implicit val ByteAnnihilationSubtract : Annihilation [Byte ] with Subtract [Byte ] =
34
+ implicit lazy val ByteAnnihilationSubtract : Annihilation [Byte ] with Subtract [Byte ] =
35
35
new Annihilation [Byte ] with Subtract [Byte ] {
36
36
override def sum (l : => Byte , r : => Byte ): Byte = (l + r).toByte
37
37
override def prod (l : => Byte , r : => Byte ): Byte = (l * r).toByte
@@ -41,7 +41,7 @@ object DistributiveProd extends DistributiveProdLowPriorityImplicits {
41
41
val Prod : Commutative [Prod [Byte ]] with PartialInverse [Prod [Byte ]] = Associative .ByteProdCommutativePartialInverse
42
42
}
43
43
44
- implicit val CharAnnihilationSubtract : Annihilation [Char ] with Subtract [Char ] =
44
+ implicit lazy val CharAnnihilationSubtract : Annihilation [Char ] with Subtract [Char ] =
45
45
new Annihilation [Char ] with Subtract [Char ] {
46
46
override def sum (l : => Char , r : => Char ): Char = (l + r).toChar
47
47
override def prod (l : => Char , r : => Char ): Char = (l * r).toChar
@@ -51,7 +51,7 @@ object DistributiveProd extends DistributiveProdLowPriorityImplicits {
51
51
val Prod : Commutative [Prod [Char ]] with PartialInverse [Prod [Char ]] = Associative .CharProdCommutativePartialInverse
52
52
}
53
53
54
- implicit val DoubleAnnihilationPartialDivideSubtract
54
+ implicit lazy val DoubleAnnihilationPartialDivideSubtract
55
55
: Annihilation [Double ] with PartialDivide [Double ] with Subtract [Double ] =
56
56
new Annihilation [Double ] with PartialDivide [Double ] with Subtract [Double ] {
57
57
override def sum (l : => Double , r : => Double ): Double = l + r
@@ -64,7 +64,7 @@ object DistributiveProd extends DistributiveProdLowPriorityImplicits {
64
64
Associative .DoubleProdCommutativePartialInverse
65
65
}
66
66
67
- implicit val FloatAnnihilationPartialDivideSubtract
67
+ implicit lazy val FloatAnnihilationPartialDivideSubtract
68
68
: Annihilation [Float ] with PartialDivide [Float ] with Subtract [Float ] =
69
69
new Annihilation [Float ] with PartialDivide [Float ] with Subtract [Float ] {
70
70
override def sum (l : => Float , r : => Float ): Float = l + r
@@ -77,7 +77,7 @@ object DistributiveProd extends DistributiveProdLowPriorityImplicits {
77
77
Associative .FloatProdCommutativePartialInverse
78
78
}
79
79
80
- implicit val IntAnnihilationSubtract : Annihilation [Int ] with Subtract [Int ] =
80
+ implicit lazy val IntAnnihilationSubtract : Annihilation [Int ] with Subtract [Int ] =
81
81
new Annihilation [Int ] with Subtract [Int ] {
82
82
override def sum (l : => Int , r : => Int ): Int = l + r
83
83
override def prod (l : => Int , r : => Int ): Int = l * r
@@ -87,7 +87,7 @@ object DistributiveProd extends DistributiveProdLowPriorityImplicits {
87
87
val Prod : Commutative [Prod [Int ]] with PartialInverse [Prod [Int ]] = Associative .IntProdCommutativePartialInverse
88
88
}
89
89
90
- implicit val LongAnnihilationSubtract : Annihilation [Long ] with Subtract [Long ] =
90
+ implicit lazy val LongAnnihilationSubtract : Annihilation [Long ] with Subtract [Long ] =
91
91
new Annihilation [Long ] with Subtract [Long ] {
92
92
override def sum (l : => Long , r : => Long ): Long = l + r
93
93
override def prod (l : => Long , r : => Long ): Long = l * r
@@ -103,7 +103,7 @@ object DistributiveProd extends DistributiveProdLowPriorityImplicits {
103
103
val Prod : Associative [Prod [ParSeq [Unit , A ]]] = Associative .ParSeqProdIdentity
104
104
}
105
105
106
- implicit val ShortAnnihilationSubtract : Annihilation [Short ] with Subtract [Short ] =
106
+ implicit lazy val ShortAnnihilationSubtract : Annihilation [Short ] with Subtract [Short ] =
107
107
new Annihilation [Short ] with Subtract [Short ] {
108
108
override def sum (l : => Short , r : => Short ): Short = (l + r).toShort
109
109
override def prod (l : => Short , r : => Short ): Short = (l * r).toShort
0 commit comments