docs: fix revive defer rule configuration #5804
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is my first time creating a pull request.
Please let me know if I made any mistakes in the process.
Fix incorrect revive
defer
rule arguments format in docsThe current documentation lists the
defer
rule configuration forrevive
as follows:However, this format is incorrect. According to the official
revive
rule descriptions (source), thearguments
field should be passed as a nested list:Why is a nested list required?
In
revive
, theConfigure
method for thedefer
rule expects its first argument to be castable to a[]any
. Since the top-levelarguments
are passed as a[]interface{}
, the actual list must be nested as the first element. Otherwise, the cast fails at runtime.In contrast, rules like
early-return
handle scalar arguments and use a simpleswitch
structure. But thedefer
rule iterates over a list of options usingrange
, making the nested structure essential for flexibility and correctness.This commit updates the
golangci-lint
documentation to reflect the correct format.After