Skip to content

Commit fe982db

Browse files
authored
No warning for parameter of overriding method (#22757)
Quiet the unused parameter warning when the method is an override. Fixes #22742
2 parents d362492 + 825baf9 commit fe982db

File tree

5 files changed

+16
-5
lines changed

5 files changed

+16
-5
lines changed

Diff for: compiler/src/dotty/tools/dotc/transform/CheckUnused.scala

+1
Original file line numberDiff line numberDiff line change
@@ -582,6 +582,7 @@ object CheckUnused:
582582
end checkExplicit
583583
// begin
584584
if !infos.skip(m)
585+
&& !m.nextOverriddenSymbol.exists
585586
&& !allowed
586587
then
587588
checkExplicit()

Diff for: tests/warn/i15503e.scala

+2-2
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,10 @@ package foo.test.i16865:
7070
trait Bar extends Foo
7171

7272
object Ex extends Bar:
73-
def fn(a: Int, b: Int): Int = b + 3 // warn
73+
def fn(a: Int, b: Int): Int = b + 3 // no warn (override)
7474

7575
object Ex2 extends Bar:
76-
override def fn(a: Int, b: Int): Int = b + 3 // warn
76+
override def fn(a: Int, b: Int): Int = b + 3 // no warn (override)
7777

7878
final class alpha(externalName: String) extends StaticAnnotation // no warn annotation arg
7979

Diff for: tests/warn/i22742.scala

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
//> using options -Wunused:all -Werror
2+
3+
trait Foldable[F[_]]:
4+
def foldLeft[A, B](fa: F[A], b: B)(f: (B, A) => B): B
5+
6+
type Id[A] = A
7+
8+
given foldableId: Foldable[Id] =
9+
new Foldable[Id]:
10+
def foldLeft[A, B](fa: Id[A], b: B)(f: (B, A) => B): B = b

Diff for: tests/warn/scala2-t11681.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ trait BadAPI extends InterFace {
2323
a
2424
}
2525
override def call(a: Int,
26-
b: String, // warn now
26+
b: String, // no warn (override)
2727
c: Double): Int = {
2828
println(c)
2929
a

Diff for: tests/warn/unused-params.scala

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ trait BadAPI extends InterFace {
2323
a
2424
}
2525
override def call(a: Int,
26-
b: String, // warn
26+
b: String, // no warn (override)
2727
c: Double): Int = {
2828
println(c)
2929
a
@@ -136,7 +136,7 @@ trait BadMix { self: InterFace =>
136136
}
137137

138138
class Unequal {
139-
override def equals(other: Any) = toString.nonEmpty // warn
139+
override def equals(other: Any) = toString.nonEmpty // no warn (override)
140140
}
141141

142142
class Seriously {

0 commit comments

Comments
 (0)