FIX __init_subclass__ should call super()'s method #24854
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.
After adding
set_output
CI onsample-props
branch started to fail.This was due to
__init_subclass__
in_SetOutputMixin
not callingsuper().__init_subclass__
.This PR adds the call, but there's a catch:
We cannot pass extra args to the parent's
__init_subclass__
, since the signature forobject.__init_subclass__
doesn't accept any args. So by the time we get to calling that one, we should have emptied whatever's inkwargs
.Now the issue is if there's a third party developer having some parent class implementing a
__init_subclass__
which accepts the same args as the ones we have insklearn
, things would break. The call chain therefore assumes there are no conflicts between the signatures.cc @thomasjpfan @glemaitre @jnothman