Я в настоящее время использую псевдоним типа:Declare переменного типа, является функцией возвращаемого типа
type FooType = Int
val foo = (_: Int) * 2
def takeFooRet(x: FooType) = ...
однако, я хотел бы сделать что-то вроде:
val foo = (_: Int) * 2
def takeFooRate(x: foo.RetType) = ...
Я не видя что-нибудь в Function1. Это невозможно?
'Function1' не имеет абстрактного типа, поэтому я думаю, вам понадобится неявное преобразование, а реализация будет макросом. –