Упрощенно, из более сложной программы:
scala> type T = (String) => String
defined type alias T
scala> def f(s: String) = s + " (parsed)"
f: (s: String)java.lang.String
scala> f _
res0: (String) => java.lang.String = <function1>
scala> def g(func: T) = func _
<console>:6: error: _ must follow method; cannot follow (String) => String
def g(func: T) = func _
^
Я не очень понимаю, почему это не работает. В чем разница между методом и чем-то в форме (Type1, Type2 ...) => Type
и как правильно получить частичную функцию из чего-то подобного?