I think it would make sense to add a new warning to the Swift language for unused function arguments.
This is analogous to
And created this (trivial, but an example) bug:
If people think it makes sense I could write up a formal pitch.
I am thinking along the lines of adding the warning by default and then have some decoration (@unused?) for function arguments which are unused.
This can be on purposes in e.g. subclasses or protocol implementers that don't need to consume all arguments, but I would argue a majority of functions do want to consume all arguments and it would make sense to warn if you aren't doing it.
Code that specifically don't need an argument can just decorate it accordingly.
This would eliminate one class of bugs reasonably cheaply.