Scala вложенные параметры неявного типа

Можете ли вы объяснить тип T в этом определении метода? Это от Гатлинга. Я знаю, что двоеточие для значений, связанных с контекстом. здесь я вижу их вложенными. Что такое # за?

implicit def stringToExpression[T: TypeCaster: Types[NonValidable]#DoesNotContain: ClassTag](string: String): Expression[T] = string.el

1 ответ

Решение

Следующая сигнатура метода переводится в:

implicit def stringToExpression(string: String)(implicit t: TyperCaster[T], nv: Types[NonValidable]#DoesNotContain[T], ct: ClassTag[T]) = string.el

# в этом контексте - проекция типа, используемая для обозначения внутреннего DoesNotContain[T] учебный класс.

Другие вопросы по тегам