Message260519
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. |
|
Date |
User |
Action |
Args |
2016-02-19 11:52:22 | Kai Wohlfahrt | set | recipients:
+ Kai Wohlfahrt |
2016-02-19 11:52:22 | Kai Wohlfahrt | set | messageid: <1455882742.53.0.118642694532.issue26391@psf.upfronthosting.co.za> |
2016-02-19 11:52:22 | Kai Wohlfahrt | link | issue26391 messages |
2016-02-19 11:52:21 | Kai Wohlfahrt | create | |
|