This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Kai Wohlfahrt
Recipients Kai Wohlfahrt
Date 2016-02-19.11:52:21
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1455882742.53.0.118642694532.issue26391@psf.upfronthosting.co.za>
In-reply-to
Content
A specialized sub-class of a generic type never calls __init__ when it is instantiated. See below for an example:

from typing import Generic, TypeVar

T = TypeVar('T')
class Foo(Generic[T]):
    def __init__(self, value: T):
        self.value = value

Bar = Foo[str]

foo = Foo('foo')
bar = Bar('bar')

print(type(foo), end=' ')
print(foo.value)

print(type(bar), end=' ')
print(bar.value) # AttributeError

I would expect Foo[str], Foo[int], etc to be equivalent to Foo at run-time. If this is not the case it might deserve an explicit mention in the docs. At the moment, behaviour is confusing because an instance of Foo is returned that does not have any of its attributes set.
History
Date User Action Args
2016-02-19 11:52:22Kai Wohlfahrtsetrecipients: + Kai Wohlfahrt
2016-02-19 11:52:22Kai Wohlfahrtsetmessageid: <1455882742.53.0.118642694532.issue26391@psf.upfronthosting.co.za>
2016-02-19 11:52:22Kai Wohlfahrtlinkissue26391 messages
2016-02-19 11:52:21Kai Wohlfahrtcreate