以下の内容はhttps://blog.magnolia.tech/entry/2019/08/12/210250より取得しました。


Scala 2.13より未使用変数への警告を抑止するunused annotationが追加された

時々メソッドのインタフェースを揃えるために、わざと使わない引数を定義することが有る。

Scalatraでもインタフェースを揃えるためにServletのRequestとResponseをペアで定義しているが、必ずしも使っていない、みたいなコードがあり、ビルドの度に未使用パラメータの警告が出てしまう。

[warn] /repos/scalatra/auth/src/main/scala/org/scalatra/auth/ScentryStrategy.scala:44:35: parameter value request in method beforeAuthenticate is never used
[warn]   def beforeAuthenticate(implicit request: HttpServletRequest, response: HttpServletResponse): Unit = {}
[warn]                                   ^
[warn] /repos/scalatra/auth/src/main/scala/org/scalatra/auth/ScentryStrategy.scala:44:64: parameter value response in method beforeAuthenticate is never used
[warn]   def beforeAuthenticate(implicit request: HttpServletRequest, response: HttpServletResponse): Unit = {}
[warn]                                                                ^

将来の拡張性のために意図した未使用は警告しないで欲しいなぁ…と思っていたら、Scala 2.13よりunused annotationが追加された。

Scala Standard Library 2.13.0 - scala.annotation.unused

ドキュメントに全然コード例が無いので分かりづらいけど、テストコードにコメント付きで使い方が書かれているので、こちらを見た方が理解しやすいと思います。

scala/t10790.scala at 2.13.x · scala/scala · GitHub

Scala 2.13以降なので、後方互換性の観点からすぐに使うわけにはいかないけど、ライブラリ作ったりする人は知っておくといいと思いました。




以上の内容はhttps://blog.magnolia.tech/entry/2019/08/12/210250より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14