当前位置:  开发笔记 > 编程语言 > 正文

在IntelliJ中使用cats库时出现错误

如何解决《在IntelliJ中使用cats库时出现错误》经验,为你挑选了1个好方法。

我正在使用猫Scala库,IntelliJ IDE似乎正在努力使用implicits:

这是一个简单的例子:

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]]的表达式不符合预期类型选项[List [A]]

其他时候错误是这样的:

值序列不是List [Option [A]]的成员

这是IntelliJ中的错误还是我错过了一些配置?

我使用的是IntelliJ 15.0.2和Scala插件的2.0.4版.



1> Arne Claasse..:

自2016年5月13日以来,这是IntelliJ / Scala插件(SCL-10259-错误错误(红色代码良好):来自cats的序列)中的一个未解决问题。

正如上面@Noah所评论的那样,目前的解决方法是通过提供序列的容器类型和包含的类型来帮助IntelliJ,例如 (针对cats 1.0更新)

import cats.instances.all._
import cats.Traverse.ops._

def useSequence[A](ls : List[Option[A]]) : Option[List[A]] = 
  ls.sequence[Option, A]

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有