测试中*的含义是什么?
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
以前的语法是问号,现在是星号。
在猫的测试中,*
作为类型参数出现,例如这里:
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
以前的语法是问号,现在是星号。