Skip to content

Commit be9264b

Browse files
Merge pull request #5274 from dotty-staging/fix-#5270
Fix #5270: Make TupleXXL extend Product
2 parents 7e5825a + 747a607 commit be9264b

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

library/src/scala/TupleXXL.scala

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,19 @@
11
package scala
22
import java.util.Arrays.{deepEquals, deepHashCode}
33

4-
final class TupleXXL private (es: Array[Object]) {
4+
final class TupleXXL private (es: Array[Object]) extends Product {
55
assert(es.length > 22)
6+
7+
def productElement(n: Int): Any = es(n)
8+
def productArity: Int = es.length
9+
610
override def toString = elems.mkString("(", ",", ")")
711
override def hashCode = getClass.hashCode * 41 + deepHashCode(elems)
12+
override def canEqual(that: Any): Boolean = that match {
13+
case that: TupleXXL => that.productArity == this.productArity
14+
case _ => false
15+
}
16+
817
override def equals(that: Any) = that match {
918
case that: TupleXXL => deepEquals(this.elems, that.elems)
1019
case _ => false
File renamed without changes.

0 commit comments

Comments
 (0)