【发布时间】:2016-04-14 05:34:09
【问题描述】:
我正在使用cats Scala 库,而IntelliJ IDE 似乎在努力使用隐式:
这是一个简单的例子:
import cats.std.all._
import cats.Traverse.ops._
def useSequence[A](ls : List[Option[A]]) : Option[List[A]] = {
ls.sequence
}
在 IntelliJ 中,此代码以红色突出显示。但是我可以使用Make Project 或命令行来构建。
现在的错误是:
Nothing[List[Nothing]] 类型的表达式不符合预期的类型 Option[List[A]]
其他时候错误是这样的:
值序列不是List[Option[A]]的成员
这是 IntelliJ 中的错误还是我缺少某些配置?
我正在使用带有 Scala 插件版本 2.0.4 的 IntelliJ 15.0.2。
【问题讨论】:
-
这基本上是一个 intellij 错误,它只能推断出这么多,而且这看起来它使用了一些宏,这使得 intellij 更难推断类型(猫使用宏而不是你)。如果你想让 intellij 开心,你需要给它更多类型
ls.sequence[Option, A]。
标签: scala intellij-idea implicits scala-cats