IntelliJ ошибочно выделяет «Неверное количество аргументов для экстрактора» - PullRequest
4 голосов
/ 23 декабря 2019

Сопоставляя класс case с параметром 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 Ответ

2 голосов
/ 24 декабря 2019

Возможно, это не лучшее решение для этой проблемы, но вы можете заключить неправильно выделенный фрагмент кода в /*_*/ и отключить выделение в этой части кода.

Это похоже на ошибку и лучшее месторассказать об этом - баг-трекер IDEA. Есть много мест, где intelliJ highlighter может не согласиться с scalac.

В любом случае, вы можете избежать этого, развернув свой кортеж в именованные переменные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...