New submission from Stefan Krah: If a type scheme is instantiated, should the type variables in the class body be substituted? This is an example (typed by hand on a locked down Windows machine, may contain errors):
alpha = TypeVar('alpha') beta = TypeVar('beta') class ABTuple(Generic[alpha, beta]): def __init__(self, a : alpha, b : beta): self.value = (a, b) get_type_hints(ABTuple.__init__) ==> {'b': ~beta, 'a': ~alpha} IntIntTuple = ABTuple[int, int] IntIntTuple ==> __main__.ABTuple[int, int] get_type_hints(IntIntTuple.__init__) {'b': ~beta, 'a': ~alpha} ^^^^^^ ^^^^^^ Since the type has been specialized, these should ideally be 'int'. ---------- components: Interpreter Core messages: 250565 nosy: gvanrossum, skrah priority: normal severity: normal status: open title: Type variable substitution in type instances type: behavior versions: Python 3.5 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue25087> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com