Subscripted generic classes should not have independent class variables · Issue #392 · python/typing · GitHub
Skip to content

Subscripted generic classes should not have independent class variables #392

Description

@ilevkivskyi

Currently we have

class A(Generic[T]):
    x = None

A[int].x = 1
A[str].x = 'a'

print(A[int].x) # prints 1
print(A[int]().x) # prints None, since type is erased on instantiation

@JukkaL argues and I agree with him, that this looks wrong. Conceptually, there should be only one runtime class. I think we can implement this without loosing the current runtime generic information by tweaking descriptor __dict__ of GenericMeta, so that all assignments and look-ups on subscripted class objects like A[int] will be transferred to the original class object A.

@gvanrossum What do you think?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions