From b57cd71e54b23039e8439d4243e22647d77c2299 Mon Sep 17 00:00:00 2001 From: Mathias Date: Wed, 17 Mar 2021 15:55:12 +0100 Subject: [PATCH] Fix #11792 (Tuple.fromProduct doesn't handle Product0) --- library/src/scala/runtime/Tuples.scala | 1 + tests/run/i11793.scala | 2 ++ 2 files changed, 3 insertions(+) create mode 100644 tests/run/i11793.scala diff --git a/library/src/scala/runtime/Tuples.scala b/library/src/scala/runtime/Tuples.scala index 57b404e79d5c..267e04f65aed 100644 --- a/library/src/scala/runtime/Tuples.scala +++ b/library/src/scala/runtime/Tuples.scala @@ -58,6 +58,7 @@ object Tuples { else TupleXXL.fromIArray(xs).asInstanceOf[Tuple] def fromProduct(xs: Product): Tuple = (xs.productArity match { + case 0 => EmptyTuple case 1 => xs match { case xs: Tuple1[_] => xs diff --git a/tests/run/i11793.scala b/tests/run/i11793.scala new file mode 100644 index 000000000000..3a84d07fcaf2 --- /dev/null +++ b/tests/run/i11793.scala @@ -0,0 +1,2 @@ +case class Foo() +@main def Test: Unit = Tuple.fromProduct(Foo()) \ No newline at end of file