feat(Flags)!: return Flags instance on class property access #1463
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
This PR changes the behavior of
flags.flag_valuesuch that it returns aFlagsinstance onFlags.xyzaccess, rather than theflag_valueitself.This reduces the complexity of the implementation, and allows for passing
Flags.xyzdirectly to places expecting aFlagsinstance, in case only one flag is used (eg..send(..., flags=MessageFlags.is_components_v2))This is a breaking change since the return value changes, and people expecting
flag_valuewould now getFlagsinstance.I've added a (deprecated)
.flagproperty toBaseFlagsso it's not immediately breaking for people accessing the attribute.Checklist
uv run nox -s lintuv run nox -s pyright