<@U0FFA2HMM> What does the generated `EitherHashIn...
# arrow-contributors
r
@prat What does the generated
EitherHashInstanceImplicits
look like?
p
one minute...looking
Copy code
object EitherHashInstanceImplicits {
  fun <L, R> instance(EQL: arrow.typeclasses.Eq<L>, HSL: arrow.typeclasses.Hash<L>, EQR: arrow.typeclasses.Eq<R>, HSR: arrow.typeclasses.Hash<R>): EitherHashInstance<L, R> =
    object : EitherHashInstance<L, R> {
      override fun EQL(): arrow.typeclasses.Eq<L> = EQL
      override fun HSL(): arrow.typeclasses.Hash<L> = HSL
      override fun EQR(): arrow.typeclasses.Eq<R> = EQR
      override fun HSR(): arrow.typeclasses.Hash<R> = HSR
    }
}


fun <L, R> arrow.core.Either.Companion.hash(EQL: arrow.typeclasses.Eq<L>, HSL: arrow.typeclasses.Hash<L>, EQR: arrow.typeclasses.Eq<R>, HSR: arrow.typeclasses.Hash<R>, @Suppress("UNUSED_PARAMETER") dummy: kotlin.Unit = kotlin.Unit): EitherHashInstance<L, R> =
  EitherHashInstanceImplicits.instance(EQL, HSL, EQR, HSR)



inline fun <reified L, reified R> arrow.core.Either.Companion.hash(EQL: arrow.typeclasses.Eq<L> = arrow.typeclasses.eq<L>(), HSL: arrow.typeclasses.Hash<L> = arrow.typeclasses.hash<L>(), EQR: arrow.typeclasses.Eq<R> = arrow.typeclasses.eq<R>(), HSR: arrow.typeclasses.Hash<R> = arrow.typeclasses.hash<R>()): EitherHashInstance<L, R> =
  EitherHashInstanceImplicits.instance(EQL, HSL, EQR, HSR)
r
Looks correct which denotes a problem applying the arguments in the instance resolution step.
p
i see. that makes sense
If you want to file an issue I can look into it when I get some time, unless you want to give it a shot at fixing it yourself
p
sounds good. i will look into it. if i can't figure, will file a ticket
👍 1
r
thanks!
For what is worth, what works best there is the debugger and look at the memory state of
values
etc.
That is the only part of Arrow that is dynamic and hopefully we can trash when Keep 87 sees the light
👍 2
p
awesome. thanks for the pointer
r
no problem, thanks for taking the time to look into it
👍 1
merged!
p
🆒