Closed
Description
Compiler version
3.7.0-RC1-bin-20250306-73ba485-NIGHTLY
Minimized code
With -Wunused:params
enabled:
import java.time.ZonedDateTime
trait Foo[A] {
def apply(a: A, t: ZonedDateTime): A
}
extension [A](a: A)(using f: Foo[A]) {
def foo(t: ZonedDateTime = ZonedDateTime.now): A = f(a, t)
}
Output
-- [E198] Unused Symbol Warning: /Users/matt/scala3.7-nightly-unused/src/main/scala/example/Test.scala:7:14 ------------
7 |extension [A](a: A)(using f: Foo[A]) {
| ^
| unused explicit parameter
-- [E198] Unused Symbol Warning: /Users/matt/scala3.7-nightly-unused/src/main/scala/example/Test.scala:7:26 ------------
7 |extension [A](a: A)(using f: Foo[A]) {
| ^
| unused implicit parameter
Expectation
Both a
and f
are used in def foo
so they should not be reported unused