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 serhiy.storchaka
Recipients gvanrossum, kj, levkivskyi, martinitus, rhettinger, serhiy.storchaka
Date 2021-10-25.16:08:38
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1635178118.24.0.677669630971.issue45438@roundup.psfhosted.org>
In-reply-to
Content
Two years is not so long for a bug. We fixed 8-year and 12-year bugs.

The issue is that this feature is internally inconsistent (isinstance() is not consistent with issubclass()), the C implementation of list[int] is not consistent with the Python implementation of List[int], and a lot of code was not tested with this feature, so we perhaps have a lot of bugs in the stdlib and in the third-party libraries. Are we going to backport changes for making code working with GenericAlias as a type to 3.9 and 3.10? If not, we will actually add new features in 3.11 and keep 3.9 and 3.10 broken. If yes, these changes can have larger effect than just making isinstance(list[int], type) returning False, and they can break more code.

Note also that isinstance(List[int], type) was True before 3.7, and we intentionally made it False in 3.7 (it was required significant rewriting of the typing module and introducing __mro_entries__). Do we want to revert this decision?
History
Date User Action Args
2021-10-25 16:08:38serhiy.storchakasetrecipients: + serhiy.storchaka, gvanrossum, rhettinger, levkivskyi, kj, martinitus
2021-10-25 16:08:38serhiy.storchakasetmessageid: <1635178118.24.0.677669630971.issue45438@roundup.psfhosted.org>
2021-10-25 16:08:38serhiy.storchakalinkissue45438 messages
2021-10-25 16:08:38serhiy.storchakacreate