以下定义......
object Category {
def fCat = new Category[Function1] {
def compose[A, B, C](f: (B) => C)(g: (A) => B) = { a: A => f(g(a)) }
}
}
...如果Category
定义为:
trait Category[~>[_, _]] {
def compose[A, B, C](f: ~>[B, C])(g: ~>[A, B]): ~>[A, C]
}
...但是在填充类型构造函数时不会:
def compose[A, B, C](f: B ~> C)(g: A ~> B): A ~> C
这里IntelliJ抱怨fCat
中没有定义成员撰写。
这是Presentation Compiler的限制吗? IntelliJ的Scala插件?或者我忽略了什么?