Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for __init_subclass__ #2654

Merged
merged 3 commits into from
Jan 9, 2017

Conversation

JelleZijlstra
Copy link
Member

Python 3.6 added the new _init_subclass__ magic method, which requires special support because its first argument is not self (similar to __new__).

I submitted a separate pull request to typeshed (python/typeshed#813) to add the new method to stubs.

@JelleZijlstra JelleZijlstra changed the title Add support for __Init_subclass__ Add support for __init_subclass__ Jan 7, 2017
@elazarg
Copy link
Contributor

elazarg commented Jan 7, 2017

I think it should be subsumed by #2475, or merged afterwards.

@JelleZijlstra
Copy link
Member Author

I haven't reviewed your patch in detail, but I think the functionality implemented by this patch is pretty independent from metaclass support. There's some more work possible to typecheck class definitions with __init_subclass__ better (e.g. #2653), but those changes could be done later.

@@ -108,9 +108,9 @@ reveal_type(B.new()) # E: Revealed type is '__main__.B*'

[case testSelfTypeOverride]
from typing import TypeVar, cast

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Next time you submit a PR, can you instruct your editor not to clean up trailing whitespace on lines you otherwise didn't touch? While it looks better, the many trivial chunks in the diff are distracting during a review.

@gvanrossum gvanrossum merged commit d6e5fe7 into python:master Jan 9, 2017
@gvanrossum
Copy link
Member

Thanks!

gvanrossum pushed a commit to python/typeshed that referenced this pull request Jan 9, 2017
@JelleZijlstra JelleZijlstra deleted the initsubclass branch May 4, 2017 04:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants