测试中*的含义是什么?

What is the meaning of * in the tests?

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

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

我知道编译器会将其翻译成类型级函数,但为什么呢?它在哪里定义?它是语言规范的一部分还是猫的一部分(或其依赖项之一)?

它是一种编译器插件,可以将带星号的类型转换为 lambda 类型

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

以前的语法是问号,现在是星号。