Using .tupled method when companion object is in class
You can also write
(Person.apply _).tupled
to avoid repeating the types.
One workaround is define a companion object as follows:
object Person extends((String,String) => Person) {
...
}
See. https://groups.google.com/d/msg/scala-user/jyWBMz5Qslw/Bryv4ftzRLgJ
This is very similar to what Alexey Romanov said, but in order to avoid lifting apply
whenever you need tupled
, we just add it to our companion objects.
object Person {
def something = "rawr"
def tupled = (Person.apply _).tupled
}
Now you can call Person.tupled
just like you would have if it didn't have a companion object.