Skip to content

Commit 7705113

Browse files
committed
Fix typeclass derivation now that case classes extend Serializable
1 parent c5dcbc6 commit 7705113

4 files changed

+7
-7
lines changed

tests/neg/typeclass-derivation2.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ object Pair {
170170
}
171171
}
172172

173-
sealed trait Either[+L, +R] extends Product // derives Eq, Pickler, Show
173+
sealed trait Either[+L, +R] extends Product with Serializable // derives Eq, Pickler, Show
174174
case class Left[L](x: L) extends Either[L, Nothing]
175175
case class Right[R](x: R) extends Either[Nothing, R]
176176

@@ -275,4 +275,4 @@ object Test extends App {
275275
|
276276
|But no implicit values were found that match type Show[Pair[Int]].
277277
*/
278-
}
278+
}

tests/run/typeclass-derivation2.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ object Pair {
179179
implicit def derived$Show[T: Show]: Show[Pair[T]] = Show.derived
180180
}
181181

182-
sealed trait Either[+L, +R] extends Product // derives Eq, Pickler, Show
182+
sealed trait Either[+L, +R] extends Product with Serializable // derives Eq, Pickler, Show
183183
case class Left[L](x: L) extends Either[L, Nothing]
184184
case class Right[R](x: R) extends Either[Nothing, R]
185185

@@ -486,4 +486,4 @@ object Test extends App {
486486
val zs1 = copy(zs)
487487
showPrintln(zs1)
488488
assert(eql(zs, zs1))
489-
}
489+
}

tests/run/typeclass-derivation2a.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ object Pair {
179179
implicit def derived$Show[T: Show]: Show[Pair[T]] = Show.derived
180180
}
181181

182-
sealed trait Either[+L, +R] extends Product // derives Eq, Pickler, Show
182+
sealed trait Either[+L, +R] extends Product with Serializable // derives Eq, Pickler, Show
183183
case class Left[L](x: L) extends Either[L, Nothing]
184184
case class Right[R](x: R) extends Either[Nothing, R]
185185

tests/run/typeclass-derivation3.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ object datatypes {
1616
case class Pair[T](x: T, y: T) derives Eq, Pickler, Show
1717

1818
// another ADT
19-
sealed trait Either[+L, +R] extends Product derives Eq, Pickler, Show
19+
sealed trait Either[+L, +R] extends Product with Serializable derives Eq, Pickler, Show
2020
case class Left[L](x: L) extends Either[L, Nothing]
2121
case class Right[R](x: R) extends Either[Nothing, R]
2222
}
@@ -311,4 +311,4 @@ object Test extends App {
311311
val zss1 = pklList.unpickle(buf)
312312
assert(eql(zss, zss1))
313313
showPrintln(zss1)
314-
}
314+
}

0 commit comments

Comments
 (0)