unnecessary_function_arguments (rebar3_hank v2.0.0)
View SourceA rule to detect unnecessary function arguments.
The rule emits a warning for each function argument that is consistently ignored in all function clauses.
To avoid this warning, remove the unused argument(s).
Note
This rule will not emit a warning if the function implements a NIF call (assuming that the stub function calls
erlang:nif_error/1,2) or if it's a behaviour callback. In particular, the rule will not emit a warning for any exported function in modules that implement non-OTP behaviors or OTP behaviors that have dynamic callbacks, likegen_statemorct_suite. It will also not emit a warning if the function is "known" even if not in a behaviour, likeparse_transform/2.
Summary
Functions
-spec ignored(hank_rule:ignore_pattern(), term()) -> boolean().
Rule ignore specifications. Example:
-hank([{unnecessary_function_arguments,
%% You can give a list of multiple specs or a single one
[%% Will ignore any unused argument from ignore_me/2 within the module
{ignore_me, 2},
%% Will ignore the 2nd argument from ignore_me_too/3 within the module
{ignore_me_too, 3, 2},
%% Will ignore any unused argument from any ignore_me_again/x
%% within the module (no matter the function arity)
ignore_me_again]}]).