Add advice for fixing RUF008 when mutability is not desired #8853
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.
Summary
A common mistake in Python code is creating global mutable state by assigning class attributes that are mutable (e.g. a list or dictionary).
RUF012
helpfully catches this mistake and can be used to prevent inadvertent global state form being created.The description of that rule helpfully provides advice for adjusting code to stop beigng reported as an error if the attribute should be mutable, but does not say how the error can be avoided when mutability is not the goal.
This change adds that advice, so that both possibilities are accounted for.
Test Plan
Docs built and inspected visually: