2012-04-01 2 views
0

следующее определение ...Scala Презентация Compiler и IntelliJ

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 жалуется, что член Compose не определен в fCat ,

Является ли это ограничителем компилятора презентации? Плагин IntelliJ's Scala? Или я что-то пропускаю?

ответ

Смежные вопросы