Skip to content

Top-level private definitions are not reported as unused #20520

Closed
@rochala

Description

@rochala

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:lintingLinting warnings enabled with -W or -Xlintitype:bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions