IntelliJ错误地突出显示“提取器的参数数量错误”

时间:2019-12-23 07:47:12

标签: scala intellij-idea

匹配带有TuppleN参数的案例类,我得到这样的突出显示 “提取器的参数数量错误” ...当然,这样的代码可以编译并完美执行

简单的例子

case class SomeTestClass(param: (String, String))
val t = SomeTestClass("love" -> "life")
t match {
  // here i get highlighting "wrong number arguments for extractor"
  case SomeTestClass(Tuple2(param1, param2)) => true
  case _ => false
}

相同的故事

case SomeTestClass((param1, param2)) => true
case SomeTestClass(param) => true

如何摆脱这种情况?似乎不是以前,而且我没有升级IDE

UPD:禁用类型控制不是一个好主意,因为它非常有用,可以使用/ * _ * /折叠结构进行工作,但是它只是将一个麻烦替换为另一个麻烦,因此似乎没有太多吸引力

1 个答案:

答案 0 :(得分:2)

可能不是解决该问题的最佳方法,但是您可以使用/*_*/将错误突出显示的代码片段括起来,并在该代码的特定部分中禁用突出显示。

这看起来像是个bug,最能说明问题的地方是IDEA bu​​g跟踪器。在许多地方,智能荧光笔可能会不同意scalac。

无论如何,您可以通过将元组展开为命名变量来避免这种情况。