Support type stub generation for staticmethod#14934
Support type stub generation for staticmethod#14934hauntsaninja merged 13 commits intopython:masterfrom
staticmethod#14934Conversation
|
Hi @sobolevn and @AlexWaygood, I updated this PR to work with the latest changes on master. Could you please review the current changes and merge the PR if everything is fine? |
|
Hey @sobolevn and @AlexWaygood, what is the status of this pull request? I would really like to see it merged into MyPy. Do you need anything from my side to proceed? |
|
Looking forward to this getting merged as well +1 |
|
Hi @sobolevn and @AlexWaygood, please give me an update on this PR. Is there a reason why it has not been merged? As far as I can see, I can not merge it myself since I don't have the necessary permissions. |
|
I can't merge this PR, because I don't fully understand the C++ code, but I think that @JukkaL or @msullivan can help us :) |
|
I can't merge this PR because I'm not a maintainer |
|
Thanks for the info :) I was under the impression that you could merge, since you were reviewing my changes. |
|
In the meantime you can resolve conflicts :) |
19f3832 to
a634dee
Compare
for more information, see https://pre-commit.ci
…l/mypy into support_staticmethod
|
Hi everyone, I integrated my changes into the new master branch and from my perspective it is ready for merging. I noticed, though, that the mypyc runtime tests with py39-macos seem to be unstable. Since I did not find a way to rerun tests for a commit, I added two empty dummy commits to get the pipeline to succeed. See #16420. |
|
You can ignore the mypyc runtime test failures, since it's a known issue happening on master. |
| if class_info is None: | ||
| return False | ||
| elif self.is_c_module: | ||
| raw_lookup = getattr(class_info.cls, "__dict__") # noqa: B009 |
There was a problem hiding this comment.
Why has this been # noqa'd? Wouldn't it be cleaner to do this, as the linter suggests?
| raw_lookup = getattr(class_info.cls, "__dict__") # noqa: B009 | |
| raw_lookup = class_info.cls.__dict__ |
|
Hi @JukkaL and @msullivan, I resolved conflicts with the current master branch. Can this PR be merged? |
|
Happy new year everyone! 🥳 |
|
I can merge this PR if somebody who has more context on the relevant code than I have gives a quick thumbs up. |
Or somebody who has any familiarity with the code :-) |
hauntsaninja
left a comment
There was a problem hiding this comment.
Not that familiar with stubgen, but this mostly looks good to me. I had one question
Fixes #13574
This PR fixes the generation of type hints for static methods of pybind11 classes. The code changes are based on the suggestions in #13574.
The fix introduces an additional check if the property under inspection is of type
staticmethod. If it is, the type information is read from the staticmethod's__func__attribute, instead of the staticmethod instance itself.I added a test for C++ classes with static methods bound using pybind11. Both, an overloaded and a non-overloaded static method are tested.