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 Zac Hatfield-Dodds
Recipients Zac Hatfield-Dodds, gvanrossum, levkivskyi, serhiy.storchaka
Date 2020-10-29.12:25:19
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
The two ways of getting a parametrised Callable have inconsistent __args__:

    >>> import, typing
    >>> typing.Callable[[int, int], int].__args__
    (int, int, int)
    >>>[[int, int], int].__args__
    ([int, int], int)

I discovered this while working on PEP 585 support in Hypothesis [1], where it is easy enough to work around but carries a potentially serious performance cost - the list means we cannot use the type as a cache key for non-`...` argument types. and may be related.

Date User Action Args
2020-10-29 12:25:19Zac Hatfield-Doddssetrecipients: + Zac Hatfield-Dodds, gvanrossum, serhiy.storchaka, levkivskyi
2020-10-29 12:25:19Zac Hatfield-Doddssetmessageid: <>
2020-10-29 12:25:19Zac Hatfield-Doddslinkissue42195 messages
2020-10-29 12:25:19Zac Hatfield-Doddscreate