Support generic parents in include_subclasses strategy#650
Merged
Tinche merged 1 commit intopython-attrs:mainfrom May 26, 2025
Merged
Conversation
Contributor
Author
|
@Tinche sorry for bombing you: ) just would like to get rid form my custom implementation in one of our project. If you have time today - highly appreciated |
Tinche
requested changes
May 25, 2025
Member
Tinche
left a comment
There was a problem hiding this comment.
LGTM. Left a small comment, and let's add a CHANGELOG entry (I suggest somewhere in the middle, after new features but above boring infrastructure stuff).
Resolves python-attrs#648 The strategy was using parent_cls.__subclasses__() to get the list of subclasses. In case of generics, this method is unavailable. The fix applies sanitizing the cl and getting its origin class for getting the sublcasses tree. The class itself remains generic in the tree.
25a31ca to
d68583a
Compare
Tinche
approved these changes
May 26, 2025
Member
|
Thanks! |
Contributor
Author
|
Thanks for a cool library! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Resolves #648
The strategy was using parent_cls.subclasses() to get the list of subclasses. In case of generics, this method is unavailable.
The fix applies sanitizing the cl and getting its origin class for getting a sublcasses tree.
The class itself remains generic in the tree.