Sto usando il gatti libreria Scala e l'IntelliJ IDE sembra essere alle prese con l'uso di impliciti:falsi errori quando si utilizza libreria di gatti in IntelliJ
Ecco un semplice esempio:
import cats.std.all._
import cats.Traverse.ops._
def useSequence[A](ls : List[Option[A]]) : Option[List[A]] = {
ls.sequence
}
In IntelliJ, questo codice è evidenziato in rosso. Ma posso costruire bene usando Make Project
o la riga di comando.
In questo momento l'errore è:
Espressione di tipo Nulla [Lista [Niente]] non risponde ai Tipo di opzione previsto [Lista [A]]
Altre volte l'errore è qualcosa di simile:
sequenza di valore non è un membro di List [Opzione [a]]
Si tratta di un bug in IntelliJ o mi manca qualche configurazione?
Sto usando IntelliJ 15.0.2 con la versione 2.0.4 del plugin Scala.
si tratta fondamentalmente di un bug di IntelliJ, si può dedurre solo così tanto, e questo sembra che utilizza alcune macro che lo rende ancora più difficile per intellij inferire i tipi (i gatti usano le macro non tu). Se vuoi che intellij sia felice, devi dargli qualche altro tipo 'ls.sequence [Option, A]'. – Noah