Ken Jin <kenjin4...@gmail.com> added the comment:

@guido,
Aesthetics-wise, I agree that ((int, int), str) looks by far the best. My gripe 
with it lies with the implementation - almost every function in typing 
currently assumes that every object in __args__ is a type, having (int, int) - 
the tuple object - requires many changes especially to TypeVar substitution and 
repr.

I thought that (tuple[int, int], str) looked fine because the positional 
arguments passed to a function can be represented by a single tuple (and also 
no need for imports in collections.abc :)! ). However, I support (int, int, 
str) too for the backwards-compatibility reasons you stated. The only downside 
to that is that Callable's __args__ will be slightly harder to parse if more 
args representing other things are added in the future.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue42195>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to