BUG: Fix kwonly args ignored in compat/_inspect.py #16541
Closed
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.
Fixes #16299 . The issue was with
numpy.compat._inspect.py
ignoring keyword-only arguments. This caused incomplete and even incorrect output in the inspection functions (example in issue), which was the root-cause fornumpy.core.overrides.verify_matching_signatures
ignoring keyword-only arguments.I can't imagine this slowing the import in any meaningful way, but I'm not completely familiar with the optimization being done with the file in general. If someone has a better way of handing the
function.__defaults__
andfunction__kwdefaults__
tuples, that would be nice. Since either can beNone
, I had to perform those if blocks. I cannot recall any smoother ways of combining them.I would have liked to add tests to this, but there don't seem to be any tests for this module. I assume this is related to the import optimization.