[2.x] fix: Remove explicit equals and hashCode in LabeledFunctions (#9228)

This commit is contained in:
kenji yoshida 2026-05-17 12:57:41 +09:00 committed by GitHub
parent f454c05fe1
commit 6a1222ad06
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 0 additions and 30 deletions

View File

@ -108,44 +108,20 @@ private[sbt] object LabeledFunctions {
private class LabeledFunction0[+R](private val f: () => R, label: String) extends (() => R) {
override def apply(): R = f()
override def toString: String = label
override def equals(o: Any): Boolean = o match {
case that: LabeledFunction0[R] @unchecked => this.f == that.f
case that: (() => R) @unchecked => this.f == that
case _ => false
}
override def hashCode: Int = f.hashCode
}
private class LabeledFunction1[-T, +R](private val f: T => R, label: String) extends (T => R) {
override def apply(t: T): R = f(t)
override def toString: String = label
override def equals(o: Any): Boolean = o match {
case that: LabeledFunction1[T, R] @unchecked => this.f == that.f
case that: (T => R) @unchecked => this.f == that
case _ => false
}
override def hashCode: Int = f.hashCode
}
private class LabeledFunction2[-T1, -T2, +R](private val f: (T1, T2) => R, label: String)
extends ((T1, T2) => R) {
override def apply(t1: T1, t2: T2): R = f(t1, t2)
override def toString: String = label
override def equals(o: Any): Boolean = o match {
case that: LabeledFunction2[T1, T2, R] @unchecked => this.f == that.f
case that: ((T1, T2) => R) @unchecked => this.f == that
case _ => false
}
override def hashCode: Int = f.hashCode
}
private class LabeledFunction3[-T1, -T2, -T3, +R](private val f: (T1, T2, T3) => R, label: String)
extends ((T1, T2, T3) => R) {
override def apply(t1: T1, t2: T2, t3: T3): R = f(t1, t2, t3)
override def toString: String = label
override def equals(o: Any): Boolean = o match {
case that: LabeledFunction3[T1, T2, T3, R] @unchecked => this.f == that.f
case that: ((T1, T2, T3) => R) @unchecked => this.f == that
case _ => false
}
override def hashCode: Int = f.hashCode
}
private class LabeledFunction4[-T1, -T2, -T3, T4, +R](
private val f: (T1, T2, T3, T4) => R,
@ -153,11 +129,5 @@ private[sbt] object LabeledFunctions {
) extends ((T1, T2, T3, T4) => R) {
override def apply(t1: T1, t2: T2, t3: T3, t4: T4): R = f(t1, t2, t3, t4)
override def toString: String = label
override def equals(o: Any): Boolean = o match {
case that: LabeledFunction4[T1, T2, T3, T4, R] @unchecked => this.f == that.f
case that: ((T1, T2, T3, T4) => R) @unchecked => this.f == that
case _ => false
}
override def hashCode: Int = f.hashCode
}
}