I have the following code
def sendMoney[T <: MoneyType](fn: T => Future[T], input: T): Unit
which is called this way
case x: Any => (sendMoney(_, _).tupled(x match {
case c: HoldsMoney => (createHold(_: HoldsMoney), c: HoldsMoney)
case r: ReserveMoney => (createReserve(_: ReserveMoney), r: ReserveMoney)
})
HoldsMoney
and ReserveMoney
have the base type of MoneyType
.
Scala compiler is throwing the following error.
missing parameter type for expanded function
Note, this works if
x match {
case c: HoldsMoney => sendMoney(createHold(_: HoldsMoney), c)
case r: ReserveMoney => sendMoney(createReserve(_: ReserveMoney), r)
}