@jpp - просто попробуй выяснить, какой тип возврата будет выведен во второй версии ...
компилятору Scala действительно нужна информация о типе параметров анонимных функций?
Например, учитывая эту функцию:
def callOn[T,R](target: T, f: (T => R)) = f(target)
тогда я не могу использовать это так:
callOn(4, _.toString)
=> error: missing parameter type for expanded function ((x$1) => x$1.toString)
и я должен указать
callOn(4, (_: Int).toString)
что довольно некрасиво. Почему мой пример не работает, в то время как методы типа map, filter, foldLeft и т. Д. В классах коллекции, похоже, не нуждаются в этом явном типе?