在猫的测试中,*
作为类型参数出现,例如,这里:
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)
我知道编译器会将其转换为类型级别的函数,但为什么呢?它在哪里定义?它是语言规范的一部分还是猫的一部分(或它的依赖项之一)?