En Scala, ¿pueden usarse parámetros de tipo genérico con las definiciones de * función *?

¿Hay una sintaxis para permitir parámetros de tipo genérico en literales de función? Sé que podría envolverlo en un método como:

def createLongStringFunction[T](): (T) => Boolean = {
  (obj: T) => obj.toString.length > 7
}

pero luego termino necesitando invocar el método para cada tipo T y obtener una nueva función. Busqué a través de la referencia del lenguaje, y mientras veo que la función de sintaxis literal es traducida por el compilador a una instancia deFunciónn El objeto que a su vez tiene tipos de entrada genéricos, parece que la magia del compilador realiza esos parámetros en el momento de la creación. No he encontrado ninguna sintaxis que me permita, en efecto, "dejar uno o más de los parámetros de tipo deFunciónn Sin consolidar ". Lo que preferiría es algo como:

// doesn't compile
val longStringFunction: [T](T) => Boolean = (obj: T) => obj.toString.length > 7

¿Existe tal cosa? O, para el caso, ¿cuál es el tipo explícito de una función de expansión eta cuando el método que se está expandiendo tiene parámetros genéricos?

Este es un ejemplo puramente artificial e inútil. Por supuesto que podría hacer que la función use Cualquiera aquí.

Respuestas a la pregunta(4)

Su respuesta a la pregunta