Skip to content

False positive unused warning in 3.7 nightly on override of overloaded java class member #22896

Closed
@mrdziuban

Description

@mrdziuban

Compiler version

3.7.1-RC1-bin-20250328-d519790-NIGHTLY

Minimized code

Running scala-cli:

scala-cli -Wunused:privates -S 3.7.1-RC1-bin-20250328-d519790-NIGHTLY --dep software.amazon.kinesis:amazon-kinesis-client:3.0.2

and then compiling this code:

import software.amazon.kinesis.metrics.{MetricsConfig, MetricsLevel}
lazy val c = new MetricsConfig(???, ???) { override val metricsLevel = MetricsLevel.NONE }

Output

-- [E198] Unused Symbol Warning: -----------------------------------------------
1 |lazy val c = new MetricsConfig(???, ???) { override val metricsLevel = MetricsLevel.NONE }
  |                                                        ^^^^^^^^^^^^
  |                                                     unused private member

Expectation

The value should not be reported unused since it overrides the metricsLevel member from the MetricsLevel class.

I don't really understand why I'm allowed to override metricsLevel in the first place since it's private, but perhaps that's a different issue.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions