Что означает * в тестах? - PullRequest
       60

Что означает * в тестах?

2 голосов
/ 14 октября 2019

В тестах на кошках * встречается в качестве параметра типа, например, здесь:

checkAll("Nested[Eval, List, *]", DeferTests[Nested[Eval, List, *]].defer[Int])

(см. https://github.com/typelevel/cats/blob/master/tests/src/test/scala/cats/tests/NestedSuite.scala#L19)

Я знаю, что компилятор переводит егок функции уровня типа, но почему? Где она определена? Является ли она частью спецификации языка или частью кошек (или одной из ее зависимостей)?

1 Ответ

4 голосов
/ 14 октября 2019

Это плагин-компилятор доброго проектора, который переводит типы со звездами в тип lambdas

https://github.com/typelevel/kind-projector

Прежний синтаксис был с вопросительными знаками, текущий - со звездами.

...