scala3 icon indicating copy to clipboard operation
scala3 copied to clipboard

False positive unused warning

Open drewfeelsblue opened this issue 1 week ago • 4 comments

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

drewfeelsblue avatar Dec 04 '25 15:12 drewfeelsblue