From 16b8660ea57bc1368d3a99dd37754d94f0a56fc9 Mon Sep 17 00:00:00 2001 From: Tom Grigg Date: Mon, 30 May 2022 13:34:30 -0700 Subject: [PATCH] Add regression test for #15183 --- tests/pos/i15183/decoder_1.scala | 14 ++++++++++++++ tests/pos/i15183/test_2.scala | 12 ++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 tests/pos/i15183/decoder_1.scala create mode 100644 tests/pos/i15183/test_2.scala diff --git a/tests/pos/i15183/decoder_1.scala b/tests/pos/i15183/decoder_1.scala new file mode 100644 index 000000000000..532fd7246c3a --- /dev/null +++ b/tests/pos/i15183/decoder_1.scala @@ -0,0 +1,14 @@ +import scala.deriving._ + +sealed trait Decoder[T] +object Decoder { + given Decoder[Double] = ??? + + inline given summonEmptyTuple[H]: Tuple.Map[EmptyTuple.type, Decoder] = + EmptyTuple + + inline given summonTuple[H, T <: Tuple](using hd: Decoder[H], td: Tuple.Map[T, Decoder]): Tuple.Map[H *: T, Decoder] = + hd *: td + + inline given derived[T](using m: Mirror.Of[T], d: Tuple.Map[m.MirroredElemTypes, Decoder]): Decoder[T] = ??? +} diff --git a/tests/pos/i15183/test_2.scala b/tests/pos/i15183/test_2.scala new file mode 100644 index 000000000000..2069d5637734 --- /dev/null +++ b/tests/pos/i15183/test_2.scala @@ -0,0 +1,12 @@ +// Fails in each cases below +enum Env derives Decoder: + case Local,Sit,Prod + +enum Env2 derives Decoder: + case Local() + case Sit() + case Prod() + +enum Shape derives Decoder: + case Rectangle(width: Double, height: Double) + case Circle(radius: Double)