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

Correctly support self types in callable ClassVar #14115

Merged
merged 1 commit into from
Nov 17, 2022

Conversation

ilevkivskyi
Copy link
Member

Fixes #14108

This fixes both new and old style of working with self types. After all I fixed the new style by simply expanding self type, then bind_self() does its job, so effect on the instance will be the same.

I had two options fixing this, other one (that I didn't go with) is making the callable generic in new style, if it appears in ClassVar. This however has two downsides: implementation is tricky, and this adds and edge case to an existing edge case. So instead I choose internal consistency within the new style, rather than similarity between old and new style.

@github-actions
Copy link
Contributor

According to mypy_primer, this change has no effect on the checked open source code. 🤖🎉

@JukkaL JukkaL merged commit 401798f into python:master Nov 17, 2022
@ilevkivskyi ilevkivskyi deleted the self-callable-classvar branch November 17, 2022 23:01
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.

Self doesn't work when appears in a callable directly nested in ClassVar
2 participants