IntelliJ IDEA上的Scala语法错误,但通过sbt成功编译

时间:2016-09-01 12:22:42

标签: scala intellij-idea

我在我的程序中定义了一个变量

import cats.data.{Kleisli, Xor, XorT}
val a = Kleisli[XorT[TwitterFuture, Exception, ?], String, Int] = Kleisli { (s: String) =>
XorT[TwitterFuture, Exception, Int](TwitterFuture(Xor.Right(123)))
}

我的build.sbt:

addCompilerPlugin("org.scalamacros" % "paradise"         % "2.1.0" cross CrossVersion.full)
addCompilerPlugin("org.spire-math"  % "kind-projector"   % "0.8.0" cross CrossVersion.binary)
addCompilerPlugin("com.milessabin"  % "si2712fix-plugin" % "1.2.0" cross CrossVersion.full)

有一种"类型不匹配"非常奇怪。 IntelliJ IDEA上的错误。 Type mismatch, expected: (NotInferedA) => NotInferedF[NotInferedB], actual: (String) => XorT[TwitterFuture, Exception, Int]

但我成功执行了sbt compile,没有任何错误。

我的IntelliJ IDEA版本:2016.2.2

有人知道这种情况会发生什么吗? 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

Intellij scala插件很棒,但重scala代码(类型/ implicits /宏魔术)仍未正确处理。您可以在https://youtrack.jetbrains.com/oauth?state=%2Fissues%2FIDEA中创建一个票证,也可以为现有票据投票,并等待插件补丁。

您也可以自己修补:https://github.com/JetBrains/intellij-scala