scala - IntelliJ 错误地高亮显示 "Wrong number of arguments for extractor"

标签 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:禁用类型控制不是一个好主意,因为它非常有用,使用/*_*/折叠构造工作但它只是将一个麻烦替换为另一个,所以看起来不太吸引人

最佳答案

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

这看起来像一个错误,最好的地方是 IDEA 错误跟踪器。在很多地方,intelliJ 荧光笔可能不同意 scalac。

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

关于scala - IntelliJ 错误地高亮显示 "Wrong number of arguments for extractor",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59451749/

相关文章:

mysql - Slick 3.0 批量插入或更新(更新插入)

json - 防止 JSON4S 跳过缺少字段的 JSON 对象

java - 使用 Maven 模块和 Intellij 在测试自动化项目中导入 javax API

java - 无法使用 android 支持库 - NoClassDefFoundError : android. support.v7.appcompat.R$attr

java - 是否有结构搜索和替换中使用的所有关键字的列表?

scala - 线程 "main"中的异常 java.lang.NoSuchMethodError : scala. Product.$init$(Lscala/Product;)

Scala 将 List[Int] 转换为 java.util.List[java.lang.Integer]

scala - 为什么覆盖的变量在Scala中得到错误的值?

java - 如何在 IntelliJ IDE 中创建代码模板

testing - 我可以运行 JUnit 4 以从命令行测试 Scala 代码吗?