Unused parameters are misleading. Whatever the value passed to such parameters is, the behavior will be the same.
void doSomething(int a, int b) { // "b" is unused
compute(a);
}
void doSomething(int a) {
compute(a);
}
@override
void doSomething(int a, int b) { // no issue reported on b
compute(a);
}