scala3
scala3 copied to clipboard
False positive unused warning
Minimized code
//> using options -Wunused:all
def method[A](f: [g[_]] => Unit => g[A]) = ()
@main def main = method([g[_]] => (_: Unit) => null.asInstanceOf[g[Int]])
Output
scala-cli compile --scala 3.7.0 poly.scala
Compiling project (Scala 3.7.0, JVM (21))
Compiled project (Scala 3.7.0, JVM (21))
vs.
scala-cli compile --scala 3.3.7 poly.scala
[warn] ./poly.scala:5:26
[warn] unused private member
[warn] @main def main = method([g[_]] => (_: Unit) => null.asInstanceOf[g[Int]])
[warn]
Expectation
no warnings