*在测试中是什么意思?

时间:2019-10-14 13:51:46

标签: scala scala-cats kind-projector

在猫的测试中,*作为类型参数出现,例如,在这里:

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 个答案:

答案 0 :(得分:4)

这是一种投影机编译器插件,可以将带有星形的类型转换为lambda类型

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

以前的语法带有问号,当前的语法带有星号。