scala/scala3

Top-level private definitions are not reported as unused

Opened this issue · 0 comments

Compiler version

3.5.1-RC1-bin-20240602-c6fbe6f-NIGHTLY

Minimized code

Top level private definitions are not reported as unused.

//> using scala 3.nightly
//> using option -Wunused:all

@main def run =
  val veryUnusedVariable: Int = ???

private def veryUnusedMethod(x: Int): Unit = ???
private val veryUnusedVariableToplevel: Unit = ???


Output

//> using scala 3.nightly
//> using option -Wunused:all

@main def run =
  val veryUnusedVariable: Int = ??? // unused local definition

private def veryUnusedMethod(x: Int): Unit = ??? // no unused definition reported
private val veryUnusedVariableToplevel: Unit = ??? // no unused definition reported

Expectation

//> using scala 3.nightly
//> using option -Wunused:all

@main def run =
  val veryUnusedVariable: Int = ??? // unused local definition

private def veryUnusedMethod(x: Int): Unit = ??? // unused local definition
private val veryUnusedVariableToplevel: Unit = ??? // unused local definition