Scala 2.13: передача явного значения массива в метод Scala varargs не рекомендуется - PullRequest
2 голосов
/ 23 сентября 2019

Я перехожу на Scala 2.13.

args: (Symbol, String)* в шаблоне Play Twirl выдает мне следующее предупреждение:

Передача явного значения массива в метод Scala varargs не рекомендуется(начиная с 2.13.0) и приведет к защитной копии;Используйте более эффективный не копирующий ArraySeq.unsafeWrapArray или явный вызов toIndexedSeq

Вот весь шаблон:

@(action: play.api.mvc.Call, args: (Symbol, String)*)(body: => Html)
<form  method="@action.method"
  @toHtmlArgs(args.toMap)>
  @body
</form>

Вот как эта функция вызывается:

@helper.formRelative(action = ..., Symbol("id") -> "assignForm", Symbol("class") -> "ui form") { ..body.. }

Поскольку я использую это во многих местах, есть ли способ решить эту проблему без изменения подписи?

Я пробовал разные вещи, например:

  • добавить toSeq: @toHtmlArgs(args.toSeq.toMap)
  • также с удалением @toHtmlArgs(args.toMap) появилось предупреждение.
...