在Scala 2.11.7中,具有以下案例类和其他apply方法:
case class FieldValidator[T](key: String, isValid: T => Boolean, 
                             errorMessage: Option[String] = None)
object FieldValidator {
  def apply[T](key: String, isValid: T => Boolean, 
               errorMessage: String): FieldValidator[T] = ???
}
Run Code Online (Sandbox Code Playgroud)
当我尝试使用时:
FieldValidator[String](key, v => !required || v.nonEmpty, "xxx")
Run Code Online (Sandbox Code Playgroud)
我收到一个"缺少参数类型"编译错误指向v.
当我明确指定类型时v,它编译得很好,我甚至可以跳过方法的泛型类型apply,即
FieldValidator(key, (v: String) => !required || v.nonEmpty, "xxx")
Run Code Online (Sandbox Code Playgroud)
v当apply提供通用类型时,为什么不推断类型?